Amusing D facts: typesafe variadic arrays are lazy!
Chris Nicholson-Sauls
ibisbasenji at gmail.com
Tue Oct 13 12:40:08 PDT 2009
downs wrote:
>
> Here is a funny consequence of this amusing fact:
>
> if you overload opAssign in a struct with lazy T[] dgs..., you can achieve the following syntax
>
>
>> WithFlag(GL_BLEND, true) = WithDepthMask(false) = tex.With = Quads = {
>> foreach (i, q; qa) {
>> float f = 1f*i / qa.length; Color(1f-f, f, 1f);
>> TexCoord(0f, 0f); Vertex(q.points[0]);
>> TexCoord(1f, 0f); Vertex(q.points[1]);
>> TexCoord(1f, 1f); Vertex(q.points[3]);
>> TexCoord(0f, 1f); Vertex(q.points[2]);
>> }
>> };
That's... just beautiful...
-- Chris Nicholson-Sauls
More information about the Digitalmars-d
mailing list