Haxeで動的に変数名を指定。


Reflectクラスを使うと、動的に変数名を指定することができます。

Main.hx
class Main {
    static function main() {
        var d:Dynamic   = { };
        var key:String  = "key";

        //動的に変数名を指定して値を代入。
        Reflect.setField( d, key, "value" );

        //動的に変数名を指定して値を取得。
        var value = Reflect.field( d, key );

        //すべての変数名を取得してループ。
        //(注: Reflect.fields は書きだす言語によって挙動が異なります)
        for ( name in Reflect.fields( d ) ) { }

        //動的に変数名を指定して変数の有無を調べる。
        var isKey:Bool = Reflect.hasField( d, key );

        //動的に変数名を指定して変数を削除。
        Reflect.deleteField( d, key );
    }
}

検索してもヒットしなかったので、untypedを使ってたんですがクロスプラットホームで使えるこっちの方がよさそうですね。