2007-11-04から1日間の記事一覧
ああ,こういうことか. int t; writefln({return ++t;}());//1 assert(t==1); writefln(++t);//2 assert(t==2); int u; writefln({return u++;}());//0 assert(u==1); writefln(u++);//1 assert(u==2); 無名デリゲートの中身を実行してからwriteflnが評価さ…
import std.stdio; int delegate()[string] createCounter(){ int cur = 0; int delegate()[string] aa; aa["next"] = {return ++cur;}; aa["prev"] = {return --cur;}; return aa; } void main(){ auto count = createCounter(); writefln(count["next"]())…
http://d.hatena.ne.jp/nazodane/20071103/1194086171 これならOKですね. import std.stdio; int delegate()[string] createCounter(){ int cur = 0; int delegate()[string] aa; aa["next"] = {return cur++;}; aa["prev"] = {return cur--;}; return aa; …