Ruby lets you store procedures or procs, as they're called as objects, complete with their context. : Procs « Method « Ruby






Ruby lets you store procedures or procs, as they're called as objects, complete with their context.


# One way is to invoke new on the Proc class; 
# another way is to call either the lambda or proc method from Kernel.

# calling lambda or proc is preferred over Proc.new because lambda and proc do parameter checking.


#!/usr/bin/env ruby

count = Proc.new { [1,2,3,4,5].each do |i| print i end; puts }
your_proc = lambda { puts "Lurch: 'You rang?'" }
my_proc = proc { puts "Morticia: 'Who was at the door, Lurch?'" }

# What kind of objects did you just create?
puts count.class, your_proc.class, my_proc.class

# Calling all procs
count.call
your_proc.call
my_proc.call

 








Related examples in the same category

1.A Proc is an object that holds a chunk of code.
2.Proc object picks up the surrounding environment when it is created.
3.A quicker way to create our hello Proc
4.coax a method to convert an associated block to a proc on the fly.
5.Use Proc.new, proc and lamda to create methods
6.Use proc to create a function
7.Use Proc.new to create a new method