From: MonkeeSage Date: 2007-12-03T11:10:06+09:00 Subject: Re: Generator#yield - what does it do? On Dec 2, 5:03 pm, Wolfgang Nádasi-Donner wrote: > Hi! > > I am confused somehow with respect to "Generator#yield". The description > (ri) is... > > >ri Generator#yield > > -------------------------------------------------------- Generator#yield > yield(value) > ------------------------------------------------------------------------ > Yields an element to the generator. > > It's unclear for me what this means. I would expect that the Generator > object delivers (yields) values by requirement through > "Generator#current" or "Generator#next", but what should be yielded to > an already existing Generator object? > > Wolfgang Nádasi-Donner > -- > Posted viahttp://www.ruby-forum.com/. It's for passing items *into* the generator's queue when the generator is created with the block form of Generator#new rather than from an existing enumerable. Example... require 'generator' g = Generator.new { | g | 1.upto(9) { | i | g.yield(i) } g.yield(10) } until g.end? p g.next end It probably should be spelled "inject" or something. Regards, Jordan