2009-06-23から1日間の記事一覧
rubyでは全ての文が式として扱われるので、 class定義の途中で普通に式を書ける。 rubyは、ファイルの上から順番に処理を実行していく。 つまり C#の、beforefieldinitフラグ+Releaseビルドの結果のように、 変数のコンストラクタが最初に呼ばれる。
今までclassのstatic変数の初期化タイミングを誤解していたのでまとめてみる。 ずっとdll,exeが読み込まれたタイミングで初期化されると思っていた。 だが、実際は以下のようになる。 以下のサンプルコードを実行する。 class Hoge { static Hoge hoge = new…