Lambda are capricious little animals indeed
Derix
derix at dexample.com
Sun Oct 27 07:01:30 PDT 2013
So, I wanted to wrap my head a little tighter around those
strange animals that are lamdas.
I wrote the simpliest program utilizing a lambda :
import std.stdio;
void main(){
writeln({return "foobar";});
}
and it yields 43106C, which does not look like "foobar" at all,
but rather, I suspect, like a pointer or something.
So I tried
writeln(typeid({return "foobar";}));
which in turn yelds immutable(char)[]()*
that hints further to a pointer.
I get the immutable(char)[] : an immutable array of characters,
why not. But I really don"t get the set of parens between the
square brackets and the asterisk. Could that mean that what I get
is in fact a pointer to a function ? (said function having no
arguments, or having void as sole argument or ...)
Now, the question (and the very point of a lambda if I get it
right) would be to get this function to evaluate (and precisely
return the string "foobar" in this example).
What syntactic subtility am I missing ?
More information about the Digitalmars-d-learn
mailing list