...ing logging 4.0

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

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が評価さ…

Full Closure (3)

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"]())…

Full Closure (2)

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; …