Предоставляет ли ruby ​​метод для отображения вызовов иерархии?

Что все, я хочу посмотреть, какие кланы наследуют фиксированный класс. Есть метод для этого в RUBY?

Aptana предлагает вариант, который показывает это, но есть ли какой-либо метод?

Спасибо

Ответы

Ответ 1

Вы просите увидеть всех предков класса или потомков? Для предков используйте:

Class.ancestors

Однако сопоставимый метод "из коробки" для потомков. Вы можете использовать ObjectSpace, как показано ниже, но он медленный и не может быть переносимым по всем реализациям Ruby:

ObjectSpace.each_object(Class) do |klass| 
  p klass if klass < StandardError
end

EDIT:

Можно также использовать класС# унаследованный для отслеживания подкласса. Это не поймает никаких подклассов, созданных до того, как будет определена функция отслеживания, поэтому может не соответствовать вашему варианту использования. Если вам нужно использовать эту информацию программно на классах, определенных внутри вашего приложения, однако, это может быть путь.