るりまサーチ

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

別のキーワード

  1. object yield_self
  2. _builtin yield_self
  3. _builtin self
  4. tracepoint self
  5. codeobject document_self

ライブラリ

キーワード

検索結果

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

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

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

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

@
param inhe...
...ate_self() end
protected; def protected_self() end
public; def public_self() end
end

# あるオブジェクトの特異メソッドの一覧を得る。
p obj.singleton_methods(false)
p obj.methods(false)
p Foo.singleton_methods(false)

#実行結果

[:protected_self, :public_self]
[:...
...protected_self, :public_self]
[:protected_class_foo, :public_class_foo]
//}


//emlist[例2][ruby]{
# あるオブジェクトの特異メソッドの一覧を得る。
# 親クラスのクラスメソッドも含まれるよう true を指定したが、
# Object のクラスメソッドは一覧...

Object#define_singleton_method(symbol) { ... } -> Symbol (6148.0)

self に特異メソッド name を定義します。

...
self
に特異メソッド name を定義します。

@
param symbol メソッド名を String または Symbol で指定します。

@
param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@
return メソッド名を表す Sy...
...す。

//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_method(:who_am_i) do
"I am: #{class_name}"
end
A.who_am_i # ==> "I am: A"

guy = "Bob"
guy.define_singleton_method(:hello) { "#{self}: Hello there!" }
guy.hello #=> "Bob: Hell...

Object#define_singleton_method(symbol, method) -> Symbol (6148.0)

self に特異メソッド name を定義します。

...
self
に特異メソッド name を定義します。

@
param symbol メソッド名を String または Symbol で指定します。

@
param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@
return メソッド名を表す Sy...
...す。

//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_method(:who_am_i) do
"I am: #{class_name}"
end
A.who_am_i # ==> "I am: A"

guy = "Bob"
guy.define_singleton_method(:hello) { "#{self}: Hello there!" }
guy.hello #=> "Bob: Hell...