暗黙の関数テンプレート

dmd v0.149
D言語の新バージョンです
今回は楽しげです。

ひゃっほー暗黙の関数テンプレートが来たぜー
うひょー(この機能を切望していたのでテンションが無駄に上昇しています)

struct pair(A,B){A first;B second;}
template make_pair(A,B){
	pair!(A,B) make_pair(A a,B b){
		pair!(A,B) p;
		p.first = a;
		p.second = b;
		return p;
	}
}
void main(){
	auto v = make_pair(2,3);
	printf("(%d,%d)\n",v.first,v.second);// (2,3)
}

あとon_scope_hogeがscope(hoge)になったみたい。
文字数が減ったので僕みたいな記憶力の低い人間にはありがたい話しです。


それと、if文での変数宣言は予想通りC++っぽい方法に変更されました。

if(auto x = hoge) or if(type x = hoge)

C++慣れしてる人間にはこっちのほうが自然です。