From: Dave Thomas <Dave / thomases.com> > "Conrad Schneiker" <schneiker / jump.net> writes: > > > With reference to FAQ 3.3, does anyone else find "yield" to be a somewhat > > counter-intuitive term? > > > > I think that (AFIK) either "invoke" or "callwith" (call with) would be a > > better statement name. > > > > Am I thinking about this the wrong way around or something? > > Yes ;-) (I think) > > I think 'yield' is used because of its historical use in > coroutines. The relationship between an iterator and its caller is > pretty much the same as a coroutine environment (or like those cartoon > chipmunks--after you, no after you....) ==== and ==== From: Andrew Hunt <andy / Toolshed.Com> > >From: "Conrad Schneiker" <schneiker / jump.net> > > > >With reference to FAQ 3.3, does anyone else find "yield" to be a somewhat > >counter-intuitive term? > > > >I think that (AFIK) either "invoke" or "callwith" (call with) would be a > >better statement name. > > I guess it's used in the sense of "yield a value" from the > current iterator context. It'd be clearer if it were something > like callBlock or evalBlock or invoke, but these are all longer > to type :-) OK, thanks for yielding your insights. I guess I could summarize things by saying that I think that effecting control by _calling_ up a block with orders in the form of message parameters or whatever is more natural and intuitive than _yielding_ the floor, as it were. Could we (the readers of this newsgroup)--in the interest of learn-ability, teach-ability, comprehensibility, public friendliness, principle of least surprise, not using Perl-like obscurities (e.g. bless), and everything else that otherwise makes Ruby great--could we all agree on a better name for the yield statement that would also be acceptable to Matz, and which could co-exist for a year or so with a depreciated yield? At the moment, I strongly prefer callBlock because it is syntactically self-documenting. Group? Conrad (PS: likewise, can we agree to describe "destructive methods" as "change methods"?)