Avatar
似たような、スタティックスコープの初期化順の問題は他の言語にもあって、
10:50 AM
C++だとmain突入前に全て実行、main終了後に全てdestruct Javaだと、クラスファイルロード時にそのクラスファイルに関して全て実行 だった気がする。
10:51 AM
Swiftの場合その変数ごとになってるっぽいのでそのどちらよりも遅延しえて、たとえロードされたパッケージに定義されていたとしても、アクセスされない変数がアプリケーション終了時まで一度も初期化されない、可能性がある気がする。 例のごとく規格とかは厳密に決まって無さそうだけど。 (edited)