staticIota is easy
Ali Çehreli via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Dec 9 10:52:59 PST 2016
I thought I needed something like staticIota in a unittest to effect
static foreach over a number range and I found one in druntime's
implementation:
https://github.com/dlang/druntime/blob/master/src/core/internal/traits.d#L106
(I wonder why that one is implemented in divide-and-conquer fashion.
Perhaps due to faster compilation that way?)
Then I realized that this is actually pretty easy with D:
template staticIota(size_t N) {
import std.range: iota;
import std.meta: aliasSeqOf;
alias staticIota = aliasSeqOf!(N.iota);
}
unittest {
size_t count = 0;
foreach (i; staticIota!10) {
mixin("++count;");
}
assert(count == 10);
}
void main() {
}
I realized that I don't actually need it but I wanted to share. :)
Ali
P.S. Related, I've been using D for a living since I started working for
Weka.IO in June. (I think the only mention of that was in this blog
post: https://dlang.org/blog/2016/06/). The more I use D, the more I
like it but you already know it. ;)
More information about the Digitalmars-d-learn
mailing list