From: MonkeeSage Date: 2007-12-03T11:14:59+09:00 Subject: Re: Generator#yield - what does it do? On Dec 2, 8:09 pm, MonkeeSage wrote: > 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. err... ^^^^^^^^ = "insert" > Regards, > Jordan