End of Life Ruby 3.1 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.c
View on GitHub ↗
static VALUE
rb_proc_s_new(int argc, VALUE *argv, VALUE klass)
{
VALUE block = proc_new(klass, FALSE, FALSE);
rb_obj_call_init_kw(block, argc, argv, RB_PASS_CALLED_KEYWORDS);
return block;
}
Creates a new Proc object, bound to the current context.
Example
proc = Proc.new { "hello" } proc.call #=> "hello"
Raises ArgumentError if called without a block.
Example
Proc.new #=> ArgumentError