как я могу просмотреть все доступные методы для объекта в ruby. Я использую aptana IDE при вводе файла. никакие методы не отображаются. Я исхожу из фона eclipse/java.
Спасибо
как я могу просмотреть все доступные методы для объекта в ruby. Я использую aptana IDE при вводе файла. никакие методы не отображаются. Я исхожу из фона eclipse/java.
Спасибо
Существует несколько методов:
obj.methods
obj.public_methods
obj.private_methods
obj.protected_methods
obj.singleton_methods
Обновление
Чтобы получить методы объекта отдельно от всех унаследованных методов, вы можете:
obj.methods(ложь)
Как упоминается в комментариях Tempus, следующая команда очень полезна для получения текущих методов объекта помимо унаследованных методов Object (базового класса):
obj.methods - Object.methods
Вы можете передать true
методам, если вы хотите игнорировать методы, определенные в суперклассах:
obj.methods(true)
obj.public_methods(true)
obj.private_methods(true)
obj.protected_methods(true)
obj.singleton_methods(true)
Или, если вы хотите удалить наиболее распространенные методы, определенные в классе Object
, вы хотите добавить либо - Object.methods
, либо - Object.instance_methods
, в зависимости от того, является ли obj
классом или экземпляром класса.
Если у вас запущен интерпретатор Ruby, <object>.methods
покажет доступные методы для объекта. В Eclipse, когда я набрал File.
, ничего не произошло, пока я не сделал команду Content Assist (CTRL + пробел). В этот момент я получил список методов.
Я также хотел бы отметить, что obj.methods
не возвращает отсортированные имена методов, поэтому вы можете сделать obj.methods.sort
.
Вы можете вызвать File.methods
в интерактивном интерпретаторе Ruby, чтобы просмотреть все доступные методы. Я не уверен, есть ли способ в среде IDE, которую вы используете, поскольку я раньше не использовал ее.