D言語熱

が冷えてきている(id:k_ahiru:20040304#p3)ような感じは私もするけど、個人的には

などのおかげで、D言語のUndocumentedな部分がほとんど無くなったため、ここがわからんとかこりゃなんだとか、日本のD開発者がぎゃーぎゃー言わなくても良くなったせいもあるかなと。だからそんなに気にしなくてもいいかも。もうちょっとアプリが出てくるといいなーとは思うけどね。

私は次のゲームもDで作ってますよ。

せっかくなのでD言語一口メモ

もはやDを使っててつっかえるところはほとんどないのだが、最近1点だけひっかかったところがあるのでメモっておく。オブジェクトの配列をforeachで初期化するとき、

  Test[5] tests;
  foreach (Test t; tests)
    t = new Test;

としてtests[1]とかを触ると、Access Violationになる。これはForeachTypeListで宣言した変数には、集合体の内容が「コピー」されるため。正解は

  Test[5] tests;
  foreach (inout Test t; tests)
    t = new Test;

です。デフォルトが「参照」でもいいような気がするんだけどなー。なにか意味があるのかしらん。