Ruby 3.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Procクラス > new
new { ... } -> Proc
[permalink][rdoc]ブロックをコンテキストとともにオブジェクト化して返します。
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 と同じです。