Tipos de classe Ruby e instruções de caso
Qual é a diferença entre
case item.class
when MyClass
# do something here
when Array
# do something different here
when String
# do a third thing
end
e
case item.class
when MyClass.class
# do something here
when Array.class
# do something different here
when String.class
# do a third thing
end
Por alguma razão, o primeiro deles funciona às vezes e o segundo não, e outras vezes, o segundo funciona e o primeiro não. Por quê? Qual é a maneira "correta" de fazer isso?