Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Procクラス > yield

instance method Proc#yield

yield(*arg) -> ()

Proc#call と同じですが、引数の数のチェックを行いません。

pr = Proc.new {|a,b,c| p [a,b,c]}
pr.yield(1)        #=> [1, nil, nil]
pr.yield(1,2,3,4)  #=> [1, 2, 3]
pr.call(1)         #=> wrong # of arguments (4 for 3) (ArgumentError)

これは yield と同じ動作です。

def foo
  yield(1)
end
foo {|a,b,c| p [a,b,c]}
[PARAM] arg:
手続きオブジェクトに与える引数を指定します。
[EXCEPTION] LocalJumpError:
Procを生成したメソッドからリターンしてしまった場合に発生します。

[SEE_ALSO] メソッド呼び出し(super・ブロック付き・yield)/yield