dmd v0.161
なんだかD言語の新バージョンが凄いです。
関数周りが大幅強化です。
とりあえず無名関数と関数テンプレートが凄い強化。
大体使い方はこんな感じ。
//関数の引数の手前にテンプレートパラメータを書く T map(T,Fn)(T a,Fn f){ auto x = a.dup; foreach(inout v;x)v=f(v); return x; } void main(){ const int []x=[1,2,3,4,5]; //無名関数に打つのが面倒なdelegateを使わなくてもよい //帰り値の型も書かなくてよい。 foreach(v;x.map((int v){return v*v;})) printf("%d ",v); }
関数テンプレートはC#3.0チックな書き方になった。
とりあえず、あとは引数も推論してくれると、さらにありがたいかなー。
とか思ったり思わなかったり。