読者です 読者をやめる 読者になる 読者になる

静的初期化を行いたい

ActionScript

ActionScriptで静的初期化を行いたい。

Javaでいうコレ

public class Hoge
{
    public static final Map resource;
    
    static
    {
        resource = new HashMap();
        resource.add("key", "value");
    }
}

こういうのをActionScriptでやりたい。
だけどActionScriptには静的初期化子が無いのでこういう書き方はできない。


こういう風に書く。

public class Hoge
{
    public static const resource:Object = getResource();

    private static function getResource():Object
    {
        var resource:Object = new Object();
        resource["key"] = "value";
        return resource;
    }
}


余談。
Javaにはインスタンス初期化子というものがあるらしい。
コンストラクタで初期化するからほとんど実用性は無いけど。

構文

{
  初期化文
}

エコすぎる!