ruby オブジェクトが公開しているメソッドやプロパティを簡単に調べる方法は?
文字列のメンバー情報を取得する例として、PowerShell で次のことができます。
"" | get-member
パイソンでは、
dir("")
Ruby オブジェクトのメンバー情報を簡単に見つける方法はありますか?
ruby オブジェクトが公開しているメソッドやプロパティを簡単に調べる方法は?
文字列のメンバー情報を取得する例として、PowerShell で次のことができます。
"" | get-member
パイソンでは、
dir("")
Ruby オブジェクトのメンバー情報を簡単に見つける方法はありますか?
"foo".methods
見る:
http://ruby-doc.org/core/classes/Object.html
Ruby にはプロパティがありません。別のオブジェクト内のインスタンス変数にアクセスするたびに、メソッドを使用してアクセスする必要があります。
オブジェクトのメソッドを取得する 2 つの方法:
my_object.methods
MyObjectClass.instance_methods
Object 基底クラスから継承されたメソッドのリストを削除するために私が行うことの 1 つは、次のとおりです。
my_object.methods - Object.instance_methods
オブジェクトの属性を一覧表示するには:
object.attributes
これを使って:
my_object.instance_variables
これを行うには、次の 2 つの方法があります。
obj.class.instance_methods(false)
、ここで「false」は、スーパークラスのメソッドが含まれないことを意味します。たとえば、次のようになります。
class Person
attr_accessor :name
def initialize(name)
@name = name
end
end
p1 = Person.new 'simon'
p1.class.instance_methods false # => [:name, :name=]
p1.send :name # => "simon"
もう1つは次のとおりです。
p1.instance_variables # => [:@name]
p1.instance_variable_get :@name # => "simon"
object.methods
オブジェクトのメソッドの配列を返します