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 === obj
die Methode Module # === verwendet wird, um zu überprüfen, ob obj
es sich um eine Instanz von handelt MyClass
.