Rubyでサブクラスの取得
直接の子クラスのみなら
1
2
3
4
5
| class Class
def subclasses
ObjectSpace.each_object(Class).select{|klass| klass.superclass == self}
end
end
|
子孫クラス(?)全てなら
1
2
3
4
5
| class Class
def subclasses
ObjectSpace.each_object(Class).select{|klass| klass < self}
end
end
|