...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

Full Closure - dmd 2.007

ほとんど某スレのコードのままですが.

import std.stdio;

uint delegate() counterGenerator()
{
    uint i = 0;
    return {return ++i;};
}

void main()
{
    auto count = counterGenerator();
    writefln(count()); // 1
    writefln(count()); // 2
    writefln(count()); // 3
}

おおおお.
ということは.
http://d.hatena.ne.jp/haru-s/20060912/1158086486

auto list = new ListBox;
auto button = new Button;
button.click ~= (Object o, EventArgs args)
{
    list.items.add("Hello");
    list.items.add("World");
};

DFLのイベントハンドラをこのように書いてもちゃんと動くようになるのか.
わざわざクラスを作ってlistとbuttonへの参照を保管しておくのは面倒だったから助かる.
後はいつになったらDFL(http://www.dprogramming.com/dfl.php)をD2.xに対応してくれるかだなー.

DFL 0.9.6.01

Download DFL 0.9.6.01 installer
or DFL 0.9.6.01 zip archive
Tested with DMD 1.022
Tested with Phobos and Tango 0.99.2

あ,気が付いたら DFL が Tango 0.99.2 に対応してる.
どうでもいいけどDFLもTangoもバージョン番号が限界に達してて桁数がどんどん増えていくのが笑えるなあw
TeX(3.1415926...)はひどすぎるがw