Lazy Literal Range: Stooid late-nite idea?

Jacob Carlborg doob at me.com
Sun Oct 9 03:13:45 PDT 2011


On 2011-10-09 08:33, Vladimir Panteleev wrote:
> On Sun, 09 Oct 2011 06:06:21 +0300, Nick Sabalausky <a at a.a> wrote:
>
>> Great, right? But what about this?:
>>
>> auto x = [runtimeExpressionA, runtimeExprB, runtimeExprC,
>> etc].find(blah);
>
> With the anonymous delegate literal syntax suggested by Andrei a while
> ago, you should be able to write this as:
>
> auto x = [() => runtimeExpressionA, () => runtimeExprB, () =>
> runtimeExprC, () => etc].find(blah);
>
> I guess it looks quirky with an empty parameter list, but it's shorter
> than writing {return runtimeExpressionA;}, {return runtimeExpressionB;}
> etc.
>

Or wrap it in a function taking a list of lazy parameters: 
http://www.d-programming-language.org/function.html#parameters

auto x = lazyRange(runtimeExpressionA, runtimeExprB, runtimeExprC);

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list