On Tue, Feb 18, 2003 at 06:59:48AM +0900, Tom Sawyer wrote:
> i also tried
> 
> 	def pass_a_block
> 		{ |i| puts i }
> 	end
> 
> 	arr = [1, 2, 3]
> 	arr.each do pass_a_block

This looks very similar:

	def pass_a_block
		proc { |i| puts i }
	end

	arr = [1, 2, 3]
	arr.each &pass_a_block

But that's probably not what you want. It's not the method, it's a Proc
object (which happens to be the returned object from the method) that's
being iterated. You can use a local variable instead of a method:

	pass_a_block = proc { |i| puts i }

	arr = [1, 2, 3]
	arr.each &pass_a_block

B.