Les objets ont tous la classe, euh pardon ont tous une classe.
Il y a deux manières en ruby de trouver la classe d'un objet :
is_a? et kind_of?
Exemple :
irb(main):011:0> test1 = true => true irb(main):012:0> test1.kind_of?(TrueClass) => true irb(main):013:0> test1.kind_of?(String) => false irb(main):014:0> test1.kind_of?(Boolean) NameError: uninitialized constant Boolean from (irb):14 irb(main):015:0> test2 = false => false irb(main):016:0> test2.kind_of?(TrueClass) => false irb(main):017:0> test2.kind_of?(FalseClass) => true irb(main):018:0> test2.kind_of?(Integer) => false
Attention : les booléens ne sont pas d'une classe Boolean mais sont soit de la classe TrueClass soit de la classe FalseClass