るりまサーチ

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

別のキーワード

  1. bigdecimal/util to_d
  2. float to_d
  3. kernel $-d
  4. openssl d
  5. _builtin $-d

ライブラリ

キーワード

検索結果

BasicObject#method_missing(name, *args) -> object (6114.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...
...=> %w(nulo unu du)})
d
ic.find_2_in :Esperanto #=> "du"
//}

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

BasicObject#instance_eval {|obj| ... } -> object (14.0)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

...て instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
d
:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジ...
...えることができます。

//emlist[例][ruby]{
class Foo
d
ef initialize data
@key = data
end
private
d
ef do_fuga
p 'secret'
end
end

some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

s...
...imeError)
//}

//emlist[例][ruby]{
class Bar < BasicObject
d
ef call1
instance_eval("::ENV.class")
end
d
ef call2
instance_eval("ENV.class")
end
end

bar = Bar.new
bar.call1 # => Object
bar.call2 # raise NameError
//}

@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...

BasicObject#instance_eval(expr, filename = "(eval)", lineno = 1) -> object (14.0)

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。

...て instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
d
:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジ...
...えることができます。

//emlist[例][ruby]{
class Foo
d
ef initialize data
@key = data
end
private
d
ef do_fuga
p 'secret'
end
end

some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

s...
...imeError)
//}

//emlist[例][ruby]{
class Bar < BasicObject
d
ef call1
instance_eval("::ENV.class")
end
d
ef call2
instance_eval("ENV.class")
end
end

bar = Bar.new
bar.call1 # => Object
bar.call2 # raise NameError
//}

@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...