From: 7stud -- Date: 2011-03-21T07:59:41+09:00 Subject: Re: newbie understanding blocks You can think of a block as a method with no name. A block gets passed to another method, and that other method calls the block with the specified arguments: def my_meth(x) yield(10, x) end my_meth(5) do |s, t| #the parameters of the block get assigned the arguments in the yield() puts s+t end --output:-- 15 Unless you know what the yield() statement looks like, you don't know how to write the parameters for your block. The docs tell us that the each() method for an array 'yields' each element of the array to the block in turn, i.e. the block should take one argument. -- Posted via http://www.ruby-forum.com/.