練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

Irvine/DMonkey: 関数クロージャよりクラスのメソッドが優先される場合がある

コメントなし»
class Test {
  function a () { alert ('class method'); }

  function test () {
    function a () { alert ('local func'); }
    function b () { a (); }

    a ();   // local func
    b ();   // class method
  }
}

(new Test ()).test ();

これはハマる。

Dorothy2 用のスクリプトを作る時は、呼び出し元のクラスで定義されている関数名と重複しないようにしなければなりません(変数名も)。

特に設定プログラム(Dorothy2\setting\*.set)は、Dorothy2set.dms で定義されている class SettingForm に多数の関数が含まれているので注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です