Files
freeCodeCamp/guide/spanish/ruby/true-false-nil/index.md
2019-08-13 07:05:44 -07:00

2.3 KiB

title, localeTitle
title localeTitle
True, False, and Nil Verdadero, falso y nulo

Verdadero, falso y nulo

true , false y nil son tipos de datos especiales incorporados en Ruby. Cada una de estas palabras clave se evalúa como un objeto que es la única instancia de su respectiva clase.

true.class 
 => TrueClass 
 false.class 
 => FalseClass 
 nil.class 
 => NilClass 

true y false son valores booleanos nativos de Ruby. Un valor booleano es aquel que solo puede ser uno de dos posibles valores: verdadero o no verdadero. El objeto true representa verdad, mientras que false representa lo contrario. Puedes asignar variables con true / false, pasarlos como parámetro a métodos, y en general usarlos de la misma forma que harías con otros objetos (como Numbers, Strings, Arrays, Hashes).

nil es un valor especial que indica la ausencia de valor: es la forma de Ruby de referirse a "nada". Un ejemplo de cuando te encontrarás con el objeto nil es cuando preguntas por algo que no existe o que no se pudo encontrar:

sombreros = ["beret", "sombrero", "beanie", "fez", "flatcap"]

sombreros[0]
 => "beret" # el sombrero para el índice 0
sombreros[2]
 => "beanie" # el sombrero para el índice 2
sombreros[4]
 => "flatcap" # el sombrero para el índice 4
sombreros[5]
 => nil # no hay sombrero para el índice 5, índice 5 contiene nada (nulo)

Cero no es nulo (es un número, lo cual es algo). Del mismo modo, Strings, Arrays, y Hashes vacíos no son nulos (son objetos, que resultan estar vacíos). Puedes llamar al método nil? para chequear si un objeto es nulo.

0.nil?
 => false
"".nil?
 => false
[].nil?
 => false
{}.nil?
 => false
nil.nil?
 => true
 # del ejemplo de arriba
hats[5].nil?
 => true

Cada objeto en Ruby tiene un valor booleano, lo que significa que se considera verdadero o falso en un contexto booleano. Aquellos considerados verdaderos en este contexto son "truthy", mientras que aquellos considerados falsos son "falsey". En Ruby, solo false y nil son "falsey". Todo lo demás es "truthy".

Otros recursos