call関数について。
自作関数は上級者向けと思われがちですが、callを使っていないだけで、無意識に同等のものを組んでいる人は多いです。
関数と言うと難しそうに聞こえますが、
といった具合に、掻い摘んで言えば何かを入れたら、何かが返ってくるものです。
使いこなせば制作・管理・仕様変更の労力の削減に役立つはず。
里々の自作関数は、主にcall関数で実現します。
call関数とは、*文または@単語群に引数を付けて呼ぶ関数。
呼び出された文または単語群では、(A0)で引数0を、(A1)で引数1を、以下数字通りに参照できます。
(call,文または単語群,引数0,引数1,引数2......)
呼び出す文または単語群がいわゆる自作関数になります。
…と、こう書くとなんだか特別な何かに見えるかも知れませんが、
実体は文または単語群なので、普段()で呼び出すのと変わりません。
つまり(call,○○)と(○○)は結果が同じなので、渡したい引数がないならcallを使う必要もないということ。
@箱の数 (A0)に(A1)が(A2)個あります。
上記のような自作関数を作った時、
(call,箱の数,部屋,箱,16)で呼び出すと「部屋に箱が16個あります。」
(箱の数)で呼び出すと「にが個あります。」
と表示されます。*1
replace.txtで置き換えておくとcallを省略でき、自作関数らしく記述できます。
(箱の数,【タブ】(call,箱の数,
* :(箱の数,部屋,箱,16)
@季節 (nswitch,(A0),冬,冬,春,春,春,夏,夏,夏,秋,秋,秋,冬) * :3月の季節って(call,季節,3)? :まだまだ寒いで。つーか今(call,季節,(現在月))やん。
サウンド再生タグを楽に書く。 (※「sound」フォルダにbird.wavやbell.wavが入っている状態での例)
* :(call、音、bird)鳥のなきごえです。\w9\w9\w9 :(call、音、bell)ベルの音です。 @音 \_v[sound/(A0).wav]
2つの数字を足し算したり掛け算したり。(一部ssu.dllを使用)
* :5と4で計算 (call,計算,5,4) * :8と16で計算 (call,計算,8,16) * :10と22で計算 (call,計算,10,22) *計算 :(A0)と(A1)を足すと「(calc,(A0)+(A1))」になるよ。 (A0)と(A1)を掛け算すると「(calc,(A0)*(A1))」になるよ。
単語一覧メニューの項目を書く時すっきりさせる。(一部ssu.dllを使用)
* :いぬだいすき! <単語一覧に「いぬ」項目が追加されました> $単語_いぬ【タブ】1 *単語一覧 :単語一覧です。 (call,単語項目,いぬ)φ (call,単語項目,ねこ)φ (call,単語項目,とり)φ (call,単語項目,くま)φ (call,単語項目,うさぎ)φ @単語項目 (if、(変数「単語_(A0)」の存在)、☆ \q[(A0),(A0)の意味]\n) *いぬの意味 :ワンワン吼える動物。 _単語一覧 *ねこの意味 :にゃーにゃー鳴く動物。 _単語一覧 *とりの意味 ・・・(以下略)