call関数について。~
自作関数は上級者向けと思われがちですが、callを使っていないだけで、無意識に同等のものを組んでいる人は多いです。~

----
#contents
----
~

*関数の自作 [#b9df0eea]
関数と言うと難しそうに聞こえますが、

-『現在月を入れると、季節(春夏秋冬)を返す』
-『現在時や現在月を入れると、昼か夜かを返す』
-『郵便物の重さの数値を入れると、料金を返す』
-『地域情報を入れると、その地域の天気予報を返す』

といった具合に、掻い摘んで言えば''何かを入れたら、何かが返ってくる''ものです。~
使いこなせば制作・管理・仕様変更の労力の削減に役立つはず。

*call関数 [#de4d832c]
里々の自作関数は、主に[[call関数>関数一覧#call]]で実現します。~
call関数とは、*文または@単語群に引数を付けて呼ぶ関数。~
呼び出された文または単語群では、(A0)で引数0を、(A1)で引数1を、以下数字通りに参照できます。~

 (call,文または単語群,引数0,引数1,引数2......)

呼び出す文または単語群がいわゆる自作関数になります。

…と、こう書くとなんだか特別な何かに見えるかも知れませんが、~
実体は文または単語群なので、普段()で呼び出すのと変わりません。~
つまり(call,○○)と(○○)は''結果が同じ''なので、渡したい引数がないならcallを使う必要もないということ。

**表記例 [#r613e3a6]

 @箱の数
 (A0)に(A1)が(A2)個あります。

上記のような自作関数を作った時、~
&color(#cc0000){(call,箱の数,部屋,箱,16)};で呼び出すと「部屋に箱が16個あります。」~
&color(#cc0000){(箱の数)};で呼び出すと「にが個あります。」~
と表示されます。((call関数を使わずに呼び出すと(A*)は空白となり表示されません。))~


***replace.txtで自作関数っぽく [#zf911ae0]
replace.txtで置き換えておくとcallを省略でき、自作関数らしく記述できます。

 (箱の数,【タブ】(call,箱の数,

 *
 :(箱の数,部屋,箱,16)



*活用例 [#xe001b92]
**季節を返す [#of719bc4]
 @季節
 (nswitch,(A0),冬,冬,春,春,春,夏,夏,夏,秋,秋,秋,冬)
 
 *
 :3月の季節って(call,季節,3)?
 :まだまだ寒いで。つーか今(call,季節,(現在月))やん。

**指定した音声を鳴らす [#de989179]
サウンド再生タグを楽に書く。
(※「sound」フォルダにbird.wavやbell.wavが入っている状態での例) 

 *
 :(call、音、bird)鳥のなきごえです。\w9\w9\w9
 :(call、音、bell)ベルの音です。
 
 @音
 \_v[sound/(A0).wav]

**計算する [#rdd8506f]
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))」になるよ。

**整理 [#g0a2e55d]
単語一覧メニューの項目を書く時すっきりさせる。(一部ssu.dllを使用)


 *
 :いぬだいすき!
 <単語一覧に「いぬ」項目が追加されました>
 $単語_いぬ【タブ】1
 
 *単語一覧
 :単語一覧です。
 
 (call,単語項目,いぬ)φ
 (call,単語項目,ねこ)φ
 (call,単語項目,とり)φ
 (call,単語項目,くま)φ
 (call,単語項目,うさぎ)φ
 
 @単語項目
 (if、(変数「単語_(A0)」の存在)、☆ \q[(A0),(A0)の意味]\n)
 
 *いぬの意味
 :ワンワン吼える動物。
 
 _単語一覧
 
 *ねこの意味
 :にゃーにゃー鳴く動物。
 
 _単語一覧
 
 *とりの意味
 ・・・(以下略)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS