v0.167

D言語もついに配列リテラルがサポートされたー
記法は[exp1,exp2,exp3,...expN]みたいに書く。
配列の型は最初の要素の型の配列になる。
expは非定数式でも良いので結構便利です。

class A{}
class B{}
class C{}
void main(char[][]args){
	foreach(x;[new Object,new A,new B,new C])
		x.print();
}

が、微妙に鬱陶しい点があります。
静的配列の静的初期化と文法が被っていることです。
おかげで

void main(){
	int []x = [2,3,4];
}

みたいにローカル変数で宣言と同時に代入できなかったりします。
ま、([2,3,4])と()で括って配列リテラルと明示すれば大丈夫だから、
そこまで深刻ではありませんけどね。


うーん、静的配列の静的初期化は廃止して、
配列リテラル一本にしてくれれば
問題は解決すると思うんだけどどうだろう?