Skip to content

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

class method

Proc.new

Proc.new {|...| block } → a_proc
Proc.new → a_proc

Creates a new Proc object, bound to the current context. Proc::new may be called without a block only within a method with an attached block, in which case that block is converted to the Proc object.

Example
def proc_from
  Proc.new
end
proc = proc_from { "hello" }
proc.call   #=> "hello"
See also #<< #== also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1