Булевы типы данных


Булевы типы данных True и False также являются объектами, экземплярами классов TrueClass и FalseClass, в Ruby к ним также относят значение nil, которое является экземпляром класса NilClass и интерпретируется как значение false, это сделано из расчета на то, чтобы мочь показать в коде не просто «ЛОЖЬ», но и «ПУСТОТУ» и при необходимости, при возвращении этих двух значений, производить различные действия.

#nil? — данный метод возвращает значение true, если объект имеет тип NilClass, пример:
array = []
array << 1
array[5] = 6
array #=> [1, nil, nil, nil, nil, 6]
array.select{|v| v.nil?} #=> [nil, nil, nil, nil]


Значения True и False являются в первую очередь результатом операций сравнения. Кроме того, в Ruby все возвращает значение и любое значение кроме false и nil интерпретируются как true.

Если, например, какой-то метод возвращает true, или значение, которое интерпретируется как true, то это свидетельствует о том, что метод выполнил свою работу успешно, если же возвращено значение false — это свидетельствует о препятствии выполнению.
2 > 5 #=> false
2 < 5 #=> true
puts 'hello'#=> напечатает hello, и возвратит значение nil