LoginSignup
3
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2012-12-26

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を使ってたんですがクロスプラットホームで使えるこっちの方がよさそうですね。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3