Jaka jest różnica pomiędzy
case item.class
when MyClass
# do something here
when Array
# do something different here
when String
# do a third thing
end
i
case item.class
when MyClass.class
# do something here
when Array.class
# do something different here
when String.class
# do a third thing
end
Z jakiegoś powodu pierwsza z nich czasami działa, a druga nie, a innym razem druga działa, a pierwsza nie. Czemu? Który z nich jest „właściwym” sposobem, aby to zrobić?