dmd v0.165

ひゃっほー新バージョンは相変わらずヘンテコだなぁ。
とりあえず、boost::spiritっぽいコードが手軽に書けて素敵


id:shinichiro_h:20060822
最後に評価した値を返すifとかはテンプレート関数との併用でどうでしょ?

T if_(Pred,T)(Pred delegate()p,T delegate()t,T delegate()f){
	return p()?t():f();
}
void main(){
	for(auto i =1 ;i<70;){
		int x = i;
		i += if_(x > 50,
			(printf("A %d\n",x),1),
			(printf("B %d\n",x),x)
		);
	}
}

ただ、メンバテンプレート関数がDでは書けないので変態的な記法が書きにくいのが残念。