Was ist der Unterschied zwischen
case item.class
when MyClass
# do something here
when Array
# do something different here
when String
# do a third thing
end
und
case item.class
when MyClass.class
# do something here
when Array.class
# do something different here
when String.class
# do a third thing
end
Aus irgendeinem Grund funktioniert die erste manchmal und die zweite nicht, und manchmal funktioniert die zweite und die erste nicht. Warum? Welches ist der "richtige" Weg, es zu tun?
MyClass === objdie Methode Module # === verwendet wird, um zu überprüfen, ob objes sich um eine Instanz von handelt MyClass.