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

singleton method Proc.new

new { ... } -> Proc[permalink][rdoc]

ブロックをコンテキストとともにオブジェクト化して返します。

[EXCEPTION] ArgumentError:
ブロックを省略した呼び出しを行ったときに発生します。

pr = Proc.new {|arg| p arg }
pr.call(1) # => 1

Proc.new # => -e:1:in `new': tried to create Proc object without a block (ArgumentError)

Proc.new は、Proc#initialize が定義されていればオブジェクトの初期化のためにこれを呼び出します。このことを除けば、Kernel.#proc と同じです。