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