Guías de Make it Real
  • Introduction
  • Preparación
    • Conceptos básicos
    • El editor de texto
    • La línea de comandos
    • Git y Github
  • Git
    • Instalación y configuración
    • Conceptos y comandos esenciales
    • Ignorando archivos y carpetas
    • Trabajando con ramas
    • Repositorios remotos
    • Etiquetas
    • Reescribiendo la historia
    • Stashing
    • Github
  • HTML y CSS
    • Introducción a HTML
    • Introducción a CSS
    • Más elementos de HTML
    • Tablas
    • Formularios
    • El modelo de caja en CSS
    • Fondos (backgrounds)
    • Posicionamiento
    • Selectores CSS
    • Bordes, sombras y gradientes
    • Media Queries
    • Unidades en CSS
    • Flexbox
  • Bootstrap 3
    • Primeros pasos
    • Elementos básicos de HTML
    • Componentes
    • La grilla
    • Personalizando Bootstrap
    • Utilizando plantillas
  • Bootstrap 4
    • Primeros pasos
    • Elementos básicos de HTML
    • Componentes
    • La grilla
    • Clases utilitarias
    • Personalizando Bootstrap
  • Ruby
    • Primeros pasos
    • Tipos y operadores
    • Variables y entrada de usuario
    • Condicionales
    • Ciclos
    • Arreglos
    • Más cadenas de texto
    • Hashes
    • Métodos
    • Manipulación de archivos
    • Gemas
  • Programación Orientada a Objetos en Ruby
    • Clases y objetos
    • Métodos y atributos de clase
    • Herencia
    • Módulos
    • Excepciones
  • JavaScript I
    • Primeros pasos
    • Tipos y operadores
    • Variables
    • Condicionales
    • Ciclos
    • Arreglos
    • Más cadenas de texto
    • Funciones
    • Objetos literales
    • Manipulación de archivos
  • JavaScript en el navegador
    • Primeros pasos
    • Manipulando HTML
    • Escuchando eventos
    • Local Storage
    • History API
    • Canvas
    • Notificaciones Web
    • Audio y Video
    • Arrastrar y soltar
    • JSON
    • Realizando peticiones HTTP
  • jQuery
    • Primeros pasos
    • Manipulando HTML
    • Escuchando eventos
    • Plugins
    • Realizando peticiones con AJAX
  • JavaScript II
    • Prototipos
    • Librerías (Node.js)
    • ES6
    • Uso de this (call, apply, bind)
    • Programación funcional
    • Scope, hoisting, closures
    • Programación asincrónica
    • Testing
  • HTTP y Sinatra
    • Primeros pasos con Sinatra
    • El protocolo HTTP
    • Rutas
    • Formularios
    • Cookies y sesión
  • Bases de datos
    • Bases de datos relacionales
    • SQL
    • DDL
    • MongoDB
  • Ruby on Rails I
    • Primeros pasos
    • Arquitectura
    • Rutas
    • Layouts y rendering
    • ActiveRecord - Modelos
    • ActiveRecord - Migraciones
    • ActiveRecord - Validaciones
    • ActiveRecord - Asociaciones
    • ActiveRecord - Scopes
    • ActiveRecord - Callbacks
    • Recursos REST
    • Formularios
    • Autenticación con Devise
    • Sass y Bootstrap
    • Envío de correos
    • Carga de imágenes
    • Seeds
    • Heroku
  • Ruby on Rails II
    • Usando JavaScript (y jQuery) en Rails
    • Testing en Ruby
    • Testing en Rails
    • Creando una Web API
    • Web Sockets
  • Express.js
    • Primeros Pasos
    • El protocolo HTTP
    • Rutas
    • Vistas
    • Middlewares y manejo de errores
    • Formularios
    • Cookies y sesión
  • Express.js II
    • Mongoose
    • Web Sockets
    • Autenticación
    • Envío de correos
    • Cargar imágenes
    • Deployment
    • Testing
    • Creando una Web API
  • React
    • Primeros pasos
    • JSX
    • Componentes
    • Más sobre estado
    • Formularios
    • Peticiones HTTP con Axios
    • React Hooks
    • React Context
    • React Bootstrap
    • React Router
    • Carga de Imágenes
    • Testing
    • Estructura de carpetas
    • Componentes de clase
  • Redux
    • Primeros pasos
    • Action creators
    • Usando la librería react-redux
    • Middlewares
    • Operaciones asincrónicas con redux-thunk
    • Combinando funciones reductoras
    • Testing
    • Redux Tool Kit
  • Algoritmos
    • Describiendo un algoritmo
    • Complejidad (Big-O)
    • Estructuras de datos
    • Recursión
    • Ordenamiento
    • Búsqueda
    • Programación dinámica
  • Python
    • Primeros Pasos
    • Tipos y Variables
    • Funciones
    • Control de Flujo
    • Listas
    • Ciclos
    • Diccionarios, Tuplas y Sets
  • NumPy
    • Primeros Pasos
    • Arreglos
    • Arreglos Multidimensionales
    • Estadística con NumPy
    • Distribución Estadística
  • Pandas
    • Primeros Pasos
    • Inspección y Selección de Datos
    • Modificando Dataframes
    • La Función Lambda
    • Aggregates en Pandas
    • Múltiples Tablas
Powered by GitBook
On this page
  • Else (de lo contrario)
  • Condiciones compuestas
  • Operadores lógicos
  • Tablas de verdad
  1. Ruby

Condicionales

Los condicionales le permiten a nuestros programas tomar decisiones cuando se están ejecutando.

Ruby ofrece varias formas para crear condicionales. La sintaxis más simple es la siguiente:

if <condición>
  # código que se ejecuta si se cumple la condición
end

La <condicion> debe ser algo que evalúe a true o false. Por ejemplo, el siguiente código siempre va a imprimir "Hola Mundo":

if true
  puts "Hola Mundo"
end

El siguiente código nunca va a imprimir "Hola Mundo":

if false
  puts "Hola Mundo"
end

El siguiente código sólo va a imprimir "Hola Mundo" si el usuario ingresa "Make it Real" (tienen que ser exacto):

text = gets.chomp

if text == "Make it Real"
  puts "Hola Mundo"
end

Else (de lo contrario)

if <condición>
  # código que se ejecuta si se cumple la condición
else
  # código que se ejecuta si no se cumple la condición
end

Condiciones compuestas

Imagina que queremos escribir un programa que imprima "El número está entre 10 y 20" si el valor de una variable está efectivamente entre 10 y 20. ¿Cómo te imaginas que lo podríamos solucionar?

Una opción es usar condiciones anidadas, de esta forma:

num = 15

if num >= 10
  if num <= 20
    puts "El número está entre 10 y 20"
  end
end

Operadores lógicos

En Ruby, al igual que en otros lenguajes de programación, se pueden crear condiciones compuestas utilizando Y, O o negación.

La Y se representa con el operador &&. Por ejemplo:

num = gets.chomp.to_i

if num >= 10 && num <= 20
  puts "El número está entre 10 y 20"
end

El && sólo evalúa a verdadero si los dos lados de la condición evalúan a verdadero.

EL O se representa con el operador ||. Por ejemplo:

color = gets.chomp

if color == "negro" || color == "blanco"
  puts "el color es negro o blanco"
end

La negación se representa con el operador !. Por ejemplo, la siguiente condición sólo se cumple si no es cierto que 5 sea igual a 6:

if !(5 == 6)
  puts "5 es diferente de 6"
end

En general es preferible evitar la negación si es posible. En este caso podemos mejorar la condición utilizando el operador !=:

if 5 != 6
  puts "5 es diferente de 6"
end

Tablas de verdad

Cuando escribes && o ||, a cada lado debe ir una expresión booleana (que evalúa a true o false).

Podemos crear tablas para saber cuál sería el resultado para cada cada caso:

Expresión
Resultado

true && true

true

true && false

false

false && true

false

false && false

false

Fíjate que para que el resultado sea true los dos lados del && deben ser true.

Hagamos lo mismo para el o (||):

Expresión
Resultado

`true

true`

`true

false`

`false

true`

`false

false`

Con el ó cualquiera de los lados puede ser true para que el resultado sea true.

La negación es más simple:

Expresión
Resultado

!true

false

!false

true

PreviousVariables y entrada de usuarioNextCiclos

Last updated 2 years ago