From: Gary Wright Date: 2007-07-11T05:13:17+09:00 Subject: Re: Yield should be renamed call_block On Jul 10, 2007, at 2:28 PM, dblack@wobblini.net wrote: > Explaining block.yield, though, would be impossible. What does it > yield? Nothing. What does it yield *to*? It doesn't. It's just a > word that used to have a different meaning and is now a synonym for > "call", even though "yield" and "call" have almost opposite semantics. I think of 'yield' as short for 'yield control'. The second definition of 'yield' in the Oxford dictionary includes 'to relinquish possession of something'. The first definition is 'produce or provide'. Ruby's 'yield' does both, it relinquishes control to the implicit block and returns the reference that is produced by that block. Gary Wright