Valor de verdad en Ruby
nil y false
Valor de verdad en Ruby es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.
¿Qué es truthiness?
En una condición, Ruby no exige un booleano estricto. Cualquier valor se trata como truthy o falsy. Conocer esta regla evita errores sutiles.
if "hello"
puts "Strings are truthy"
endSolo hay dos valores falsy
La regla de Ruby es muy sencilla: solo false y nil son falsy. Todo lo demás es truthy.
puts "nil is falsy" unless nil
puts "false is falsy" unless falseCero es truthy
A diferencia de muchos lenguajes, 0 es truthy en Ruby. Una cadena vacía y un arreglo vacío también lo son. Téngalo en cuenta si viene de C o Python.
if 0
puts "0 is truthy in Ruby"
end
if ""
puts "empty string is truthy too"
endConozca nil
nil representa la ausencia de un valor. Los métodos suelen devolver nil cuando no tienen nada que devolver, por ejemplo, cuando falta una clave de un hash.
user = { name: "Ada" }
puts user[:email].inspect # missing key returns nilComprobar nil
Utilice nil? para comprobarlo explícitamente. Devuelve true únicamente para nil.
x = nil
y = 0
puts x.nil?
puts y.nil?El operador &&
&& devuelve el primer operando falsy o el último operando si todos son truthy. Utiliza evaluación de cortocircuito: el lado derecho no se evalúa si el izquierdo es falsy.
puts (nil && "never").inspect
puts ("a" && "b").inspectEl operador ||
|| devuelve el primer operando truthy. Por eso resulta perfecto para los valores predeterminados.
name = nil
display = name || "Guest"
puts displayAsignación condicional ||=
a ||= b asigna b a a solo si a es actualmente nil o false. Es la forma idiomática de establecer un valor predeterminado.
config = {}
config[:timeout] ||= 30
config[:timeout] ||= 99 # already set, ignored
puts config[:timeout]Cuidado con el valor predeterminado falsy
Como false es falsy, || puede sobrescribir un valor legítimo false. Cuando false sea significativo, compruebe nil? en su lugar.
enabled = false
result = enabled || true # oops, becomes true
puts result
safe = enabled.nil? ? true : enabled
puts safeEl operador de navegación segura
&. llama a un método solo si el receptor no es nil; de lo contrario, devuelve nil en lugar de generar un error.
name = nil
puts name&.upcase.inspect # no NoMethodError
name = "ruby"
puts name&.upcaseCómo encaja todo
Las reglas de truthiness permiten escribir código expresivo y compacto, pero tenga presentes los casos límite:
- Solo
nilyfalseson falsy. 0,""y[]son todos truthy.- Utilice
nil?cuando unfalsereal sea importante.
values = [0, "", [], nil, false]
values.each do |v|
puts "#{v.inspect} => #{v ? "truthy" : "falsy"}"
endComprobación rápida
Compruebe cuánto domina la evaluación truthy y falsy de Ruby.
Repaso
Ha aprendido la evaluación truthy y falsy en Ruby:
- Solo
nilyfalseson falsy. nil?comprueba explícitamente si un valor es nil.&&y||devuelven operandos y utilizan evaluación de cortocircuito.||=establece valores predeterminados;&.protege frente a receptores nil.
username = nil
username ||= "anonymous"
puts "Welcome, #{username}"Preguntas frecuentes
¿La lección «Valor de verdad en Ruby» es gratis?
Sí — el texto completo de «Valor de verdad en Ruby» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Valor de verdad en Ruby»?
nil y false Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Ruby Academy?
No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Valor de verdad en Ruby»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?
Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- if, unless, ternario
- Expresiones case/when
- Valor de verdad en Ruby
- Cláusulas de guarda