Palavras-chave: Ruby, Fixnum, object_id

Em Ruby podemos facilmente verificar se um objeto é da classe Fixnum através do seu object_id (os números podem variar):

s = "oi"
s.object_id
=>  -605527578
n = 123456
n.object_id
=> 246913
s.object_id & 0x1
=> 0
n.object_id & 0x1
=> 1

Fazendo um and com o object_id e 0×1, somente os objetos da classe Fixnum irão retornar 1.

Veja uma outra dica sobre object_id em Ruby.