В чем разница между
case item.class
when MyClass
# do something here
when Array
# do something different here
when String
# do a third thing
end
и
case item.class
when MyClass.class
# do something here
when Array.class
# do something different here
when String.class
# do a third thing
end
По какой-то причине первый из них иногда работает, а второй - нет, а иногда второй работает, а первый - нет. Почему? Какой из них «правильный» способ сделать это?
MyClass === obj
использует Module # = ==, чтобы проверить, является лиobj
экземпляромMyClass
. - person MAGA   schedule 06.05.2020