класс () по сравнению с типом () в Ruby

Да, HPA поддерживается для 1.11, и я использую его некоторое время, используя руководство здесь .

41
задан Chris Collins 6 May 2009 в 19:43
поделиться

2 ответа

Ключевое отличие состоит в том, что Тип объекта № устарел. Из RDoc для типа объекта №:

Устаревший синоним для класса объекта №.

Вот почему вы должны использовать класс объекта № :

Теперь возвращает класс объекта. предпочтительнее, чем тип Object #, как тип объекта в Ruby лишь приблизительно привязанный к классу этого объекта. это метод всегда должен вызываться с явный получатель, поскольку класс также является зарезервированное слово в Ruby.

На самом деле вы, вероятно, захотите использовать Object # response_to? вместо проверки класса объекта в большинстве случаев.

48
ответ дан 27 November 2019 в 00:45
поделиться

#type является синонимом для #class , но он устарел в Ruby 1.8 и, очевидно, ушел из Ruby 1.9. Просто используйте везде #class .


# For ruby 1.8

$ ri Object#type
------------------------------------------------------------ Object#type
     obj.type   => class
------------------------------------------------------------------------
     Deprecated synonym for Object#class.


# For ruby 1.9

$ ri1.9 Object#type
Nothing known about Object#type
15
ответ дан 27 November 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: