暇つぶし。
D言語を使う人なら誰でも作りそうなコンテナ操作用の関数を自分も作ってみた。
まぁようするにC++の#include
sequence.d traits.d
使い方の例として、素数を延々と表示してみます。
import sequence; import std.math; // 素数? bool isPrime(int n){ auto to = cast(int)sqrt(cast(real)n); return all(enumFromTo(2,to),(int x){return n%x;}); } void main(){ // 2以上の整数から素数以外を弾く。 auto primes = filter(enumFrom(2),&isPrime); // で、後は全部表示する foreach(v;primes) printf("%d ",v); }
ロクにテストもしてないのでバグだらけの予感。