getAttr method

downs default_357-line at yahoo.de
Fri Feb 1 17:48:47 PST 2008


Jarrett Billingsley wrote:
> "downs" <default_357-line at yahoo.de> wrote in message 
> news:fnvs99$qm$1 at digitalmars.com...
> 
>> the following code is entirely valid D if you have scrapple.tools 
>> installed:
>> auto generator = stackthread = (void delegate(int) yield) { int i; while 
>> (true) yield(i++); };
>> writefln(generator(), generator(), generator());
> 
> You should start an IODCC.  Your code would win every time. 
> 
> 

gentoo-pc ~ $ cat test.d; rebuild test.d && echo "---------" && ./test
// sorry, I left out the indentation because I was in a hurry.
module test;
import tools.stackthreads, std.stdio;

void main()
{
        auto generator = stackthread = (void delegate(int) yield)
        {
                int i;

                while (true)
                {
                        yield(i);
                        i++;
                }
        };

        writefln([generator(), generator(), generator()]);
}

// better? :)
//  --downs
---------
[0,1,2]
gentoo-pc ~ $



More information about the Digitalmars-d mailing list