Recentemente um cara perguntou no canal #ruby-lang na rede Freenode.net como fazer para executar um determinado código para cada tipo de classe, de acordo com a classe do objeto. Solução rápida: Usando o case:
def class_case(val) case val when String puts "It's a String" when Fixnum puts "It's a Fixnum" when Array puts "It's an Array" else puts "It's something else" end end
Ou seja, basta colocar a classe como condição.



