Yukarıda belirtildiği gibi, yalnızca TrueClass ve FalseClass için boole sınıfı yoktur, ancak herhangi bir nesneyi if / when'nin konusu olarak kullanabilirsiniz ve FalseClass ve nil örnekleri dışında her şey doğrudur
Boole testleri, FalseClass veya TrueClass'ın bir örneğini döndürür
(1 > 0).class #TrueClass
Aşağıdaki monkeypatch to Object, bir şeyin TrueClass mı yoksa FalseClass mı olduğunu size söyleyecektir.
class Object
def boolean?
self.is_a?(TrueClass) || self.is_a?(FalseClass)
end
end
İrb ile bazı testler çalıştırmak aşağıdaki sonuçları verir
?> "String".boolean?
=> false
>> 1.boolean?
=> false
>> Time.now.boolean?
=> false
>> nil.boolean?
=> false
>> true.boolean?
=> true
>> false.boolean?
=> true
>> (1 ==1).boolean?
=> true
>> (1 ==2).boolean?
=> true