typeidでFizzBuzz(もどき)
なんとなく書いてみようと思っただけ
D言語いじる暇がないので忘れる一方だしテンプレートとか思い出しながら書いてる
bool fb(T)(int nVal){ if((nVal % T.div)!=0){return false;} writef(typeid(T));//t.とか気にしない! return true; } class Fizz{const int div=3;} class Buzz{const int div=5;} void main(char[][] args){ for(int i=1;i<=100;i++){ bool fz = fb!(Fizz)(i); if(!( fb!(Buzz)(i) || fz) ) writef(i); writefln(); } }
もどきってのは「t.」がつくからであって、無理矢理削除すればいいけどそれはスマートじゃないよねっていう
実行結果はこちら
暇ができたらコンパイル時FizzBuzzとか作れたらいいなとか思いつつ