るりまサーチ

最速Rubyリファレンスマニュアル検索!
24件ヒット [1-24件を表示] (0.131秒)

別のキーワード

  1. bigdecimal/util to_d
  2. float to_d
  3. matrix d
  4. openssl d
  5. ssl op_tls_d5_bug

ライブラリ

クラス

検索結果

BasicObject#method_missing(name, *args) -> object (24226.0)

呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。

...トではこのメソッドは例外 NoMethodError を発生させます。


@param name 未定義メソッドの名前(シンボル)です。
@param args 未定義メソッドに渡された引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソ...
...[ruby]{
class Foo
d
ef initialize(data)
@data = data
end
d
ef method_missing(name, lang)
if name.to_s =~ /\Afind_(\d+)_in\z/
if @data[lang]
p
@data[lang][$1.to_i]
else
raise "#{lang} unknown"
end
else
super
end
end
end

d
ic = Foo.new({:En...
...:Esperanto => %w(nulo unu du)})
d
ic.find_2_in :Esperanto #=> "du"
//}

[注意] このメソッドを override する場合は対象のメソッド名に対して
Object#respond_to? が真を返すようにしてください。
そのためには、Object#respond_to_missing? も同様に override...

Object#respond_to_missing?(symbol, include_private) -> bool (12235.0)

自身が symbol で表されるメソッドに対し BasicObject#method_missing で反応するつもりならば真を返します。

...t#method_missing で反応するつもりならば真を返します。

Object#respond_to? はメソッドが定義されていない場合、
デフォルトでこのメソッドを呼びだし問合せます。

BasicObject#method_missing を override した場合にこのメソッドも
override...
...す。

@param symbol メソッド名シンボル
@param include_private private method も含めたい場合に true が渡されます

//emlist[例][ruby]{
class Sample
d
ef method_missing(name, *args)
if name =~ /^to_*/
[name, *args] # => [:to_sample, "sample args1", "sample args2"]...
...super
end
end

d
ef respond_to_missing?(sym, include_private)
(sym =~ /^to_*/) ? true : super
end
end

s = Sample.new
s.to_sample("sample args1", "sample args2")
s.respond_to?(:to_sample) # => true
s.respond_to?(:sample) # => false
//}

@see Object#respond_to?, BasicObject#method_m...