ミックスイン
RubyのMixinとは割と違う感じ。RubyのMixinのようにも使えるけど。
template内のスコープはmixinされた時点での物らしいのでこういうヘンテコなコードが書ける。
import std.c.stdio; int hige = 1; template Hoge(){ int hoge(){ return hige; } } void main(){ mixin Hoge; printf("%d\n", hoge()); int hige = 5; printf("%d\n", hoge()); }
出力
C:\d>mixin 1 1
まあ当然かあ。
templateなのがちょっとイマイチだけどまあ便利。