2016-04-14 10 views
0

require 'set'を実行したために使用できるすべてのメソッド、定数、クラスなどをリストすることは可能ですか?ファイルを必要とするために追加されたメソッド、定数、およびクラスの一覧表示

puts Set.instance_methods(false) 

Setクラスは、任意のクラスレベルのメソッドを定義していませんが、それがなかったかどうか、人はそれらをリストがあります:

puts Set.methods(false) 

はありませんパッシング/クラスのすべてのinstance methodsを一覧表示するには

答えて

1

することができます、bそれはハイキックで、おそらく効率的な方法はありません。

1つの方法は、requireの前後のモジュールとその定数とメソッドのインベントリを記録し、その違いをとらえることです。実行して

ObjectSpace.each_object(Module).to_a 

をし、それらの定数を挙げることができる:モジュールを実行してリストすることができ

ObjectSpace.each_object(Module) 
.with_object([]){|m, a| a.concat(m.constants.map{|c| "#{m}::#{c}"})} 

あなたが方法で同様のことを行うことができます。 requireの前後にこれを行い、その違いを確認してください。

0

上記のメソッドの真理値パラメータは、すべてクラスのメソッドを出力します。をスーパークラスから派生したものがです。

0

mudasobwaは既にSetで定義されている方法のリストを示しました。

をシングルトンメソッド一覧表示するには:いくつかの追加

サブクラスを一覧表示するには

Set.constants 

:定数を一覧表示するには

Set.singleton_methods # on Ruby 2.3 it returns few => [:[], :yaml_tag] 

は一緒に行く

Set.subclasses # or Set.descendants 
関連する問題