るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.105秒)
トップページ > 種類:インスタンスメソッド[x] > クエリ:@[x] > クエリ:end[x] > クエリ:singleton_methods[x]

別のキーワード

  1. object define_singleton_method
  2. singleton clone
  3. singleton instance
  4. _builtin define_singleton_method
  5. singleton dup

ライブラリ

クラス

検索結果

Object#singleton_methods(inherited_too = true) -> [Symbol] (18246.0)

そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。

...は Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。

singleton_methods
(false) は、Object#methods(false) と同じです。

@
param inherited_...
...vate_class_parent() end
protected; def protected_class_parent() end
public; def public_class_parent() end
end


Foo = Class.new(Parent)

class <<Foo
private; def private_class_foo() end
protected; def protected_class_foo() end
public; def public_class_foo() end
end


module Bar
pri...
...vate; def private_bar() end
protected; def protected_bar() end
public; def public_bar() end
end


obj = Foo.new
class <<obj
include Bar
private; def private_self() end
protected; def protected_self() end
public; def public_self() end
end


# あるオブジェクトの...

Object#methods(include_inherited = true) -> [Symbol] (103.0)

そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。

...Object#singleton_methods(false) と同じになっています。


@
param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。

//emlist[例1][ruby]{
class Parent
private; def private_parent() end
protected; def protected_parent() end
public...
...def public_parent() end
end


class Foo < Parent
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end


obj = Foo.new
class <<obj
private; def private_singleton() end
protected; def protected_singleton() end
public; de...
...f public_singleton() end
end


# あるオブジェクトの応答できるメソッドの一覧を得る。
p obj.methods(false)
p obj.public_methods(false)
p obj.private_methods(false)
p obj.protected_methods(false)

# 実行結果
[:protected_singleton, :public_singleton]
[:public_singleton, :p...