データとかの分離とかのアルゴリズムとかの

alias template で以下のように書く方がステキでした。

template getDX(alias A) {
    static if (is (typeof(A()))) alias typeof(A()) rettype;
    else alias typeof(A) rettype;
    rettype getMemberDX() {
        return A;
    }
}

class Meteorite{
    float x; float y; float dx; float dy;
    mixin getDX!(dx);
}
class SpaceShip{
    float x; float y; int dx_; int dy_;
    int idou_kyori_x() {
        return dx_;
    }
    mixin getDX!(idou_kyori_x);
}

int main() {
    Meteorite m = new Meteorite();
    SpaceShip s = new SpaceShip();
    m.dx = 1;
    s.dx_ = 2;
    printf("%f %d\n", m.getMemberDX(), s.getMemberDX());
    return 0;
}
なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h