strange template syntax
Philippe Sigaud
philippe.sigaud at gmail.com
Sun Apr 11 07:48:04 PDT 2010
Hello,
some time ago, chris (ruunhb) posted something on his Dspec project, where he
used a template syntax I didn't know:
----
void each(alias array, T : T[] = typeof(array))(void delegate(T item) dg) {
foreach(T i; array)
dg(i);
}
int[] array = [1, 2, 3, 4];
int b = 10;
each!(array) = (int item) {
writefln("%d", item + b);
};
---
I'm intrigued by the last lines. I'd have thought 'each' to be invoked by:
each!(array)( (int item) {writefln("%d", item+b)} );
But this doesn't work. And I never encountered Chris' syntax before:
template!(someArgs) = moreArgs;
Could some be nice enough to enlighten me? How does that work?
Philippe
More information about the Digitalmars-d-learn
mailing list