...ing logging 4.0

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

template mixin使える?

http://d.hatena.ne.jp/haru-s/20080816/1218872330 に反応があったことに気が付いた.
トラックバックないからわからなかった.トラバは便利だな.

こうするとどうだろう?

import std.stdio;

template Foo(int x, int y, int z){
    int value = x + y + z;
}

template Bar(int x, int y, int z){
    enum Bar = x + y + z;
}

void main()
{
    int x = 1, y = 2, z = 3;

    mixin Foo!(x,y,z) result;
    writefln(result.value);

    alias Bar!(x,y,z) result2;
    writefln(result2);

}
テンプレートとテンプレート・ミックスイン

確かにvalueという仲介変数を作ってmixinすれば使えるか.