練炭ブログ

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

Irvine/Dorothy2: common で複数の関数を定義する

コメントなし»

ほとんど自分用メモ。

common_load() で読み込まれる .dms ファイル(Dorothy2\common\*.dms)で、一つのファイル内で複数の関数を定義したい場合、

function a () {
...
}

function b () {
...
}

のように普通に関数を並べるとエラーになってしまう。

common_load() は .dms ファイルをテキストとして読み込んで eval() するという実装なのだけど、eval() で評価できるのは式であって文ではないので、これがエラーになる(用語は適当)。

以下のようにすれば複数の関数を定義できる。

パターン1
カンマで繋げる

function a () {
...
}, // ←

function b () {
...
}

パターン2
一つのオブジェクトに入れる

X = {
a: function () {
...
},

b: function () {
...
}
} // end X

呼び出す時は X.a () のようにする。

ただし var x = { ... } とするとエラーになる。var は式で使えず、書くと文になってしまうので。

他にもやり方はあるんじゃないかと思う。

コメントを残す

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