A little more explanatory:
p = proc {|a| print " " + a.to_s }
def iter(x)
yield x-1; yield x; yield x+1
end
iter(5,&p) #=> 4 5 6
iter(5) &p #=> LocalJumpError: yield called out of block
When you use the & to make a Proc back into a block, you seem to still
have to pass it along as a parameter to the function, you can't just add
it to the back like you normally do with an explicit block.
--
<[ Kent Dahl ]>================<[ http://www.stud.ntnu.no/~kentda/ ]>
)____(stud.techn.;ind.шл.data)||(softwareDeveloper.at(Trustix))_(
/"Opinions expressed are mine and not those of my Employer, "\
( "the University, my girlfriend, stray cats, banana fruitflies, " )
\"nor the frontal lobe of my left cerebral hemisphere. "/