ほとんど自分用メモ。
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 は式で使えず、書くと文になってしまうので。
他にもやり方はあるんじゃないかと思う。