Vehicle
私はそのようなモジュールを定義しました
module Vehicle
class <<self
def build
end
private
def background
end
end
end
Vehicle.singleton_methods
returnへの呼び出し[:build]
。
によって定義されたすべてのプライベート シングルトン メソッドを調べるにはどうすればよいVehicle
ですか?
Vehicle
私はそのようなモジュールを定義しました
module Vehicle
class <<self
def build
end
private
def background
end
end
end
Vehicle.singleton_methods
returnへの呼び出し[:build]
。
によって定義されたすべてのプライベート シングルトン メソッドを調べるにはどうすればよいVehicle
ですか?
Ruby 1.9以降では、次のことを簡単に行うことができます。
Vehicle.singleton_class.private_instance_methods(false)
#=> [:background]
Ruby 1.8では、物事はもう少し複雑です。
Vehicle.private_methods
#=> [:background, :included, :extended, :method_added, :method_removed, ...]
すべてのプライベートメソッドを返します。あなたはすることによって外部で宣言されたもののほとんどをフィルタリングすることができます
Vehicle.private_methods - Module.private_methods
#=> [:background, :append_features, :extend_object, :module_function]
しかし、それですべてがうまくいくわけではありません。そのためのモジュールを作成する必要があります
Vehicle.private_methods - Module.new.private_methods
#=> [:background]
この最後のものには、それを捨てるためだけにモジュールを作成するという不幸な要件があります。