■吉里吉里/KAG/TJS雑談質問スレ■その20at GAMEDEV
■吉里吉里/KAG/TJS雑談質問スレ■その20 - 暇つぶし2ch880:名前は開発中のものです。
10/05/05 00:12:28 pMZKVX5V
引数はちゃんと渡せるよ。iscriptは単純に「endscriptタグが出てくるまでの間をTJSの式として評価する」的な動作なので
ちゃんとした関数やクラスを書けばhogehoge.tjsというファイルを読み込むのと同じよーに動作はした筈(うろ覚えだけど)。
もっとも、そういう「ちゃんとした関数やクラス」を作ってるんであれば、わざわざiscript~endscript間で書くよりも
hogehoge.tjsという別ファイルを用意してそこでキチンと定義した方がメンテナンス性上がるんじゃね?っていう別の話もある。

[iscript]
function fooFunc(aValue, bValue){
// aとbを足した値が1以上なら1, そうでなければ0を返す
return ((aValue+bValue)>0) ? 1 : 0;
}
[endscript]

@eval exp="System.inform( fooFunc(1, 0) )"
@eval exp="System.inform( fooFunc(0, 0) )"

といったような事をfirst.ks辺りに書けばちゃんと1, 0がダイアログで表示されると思う。
だから>>879の例も一応動作はするんじゃねーかな。試してないけど

まあもっとも、関数aaaの中でtf.zzzに関数bbbの戻り値を代入するよりも
function aaa(aValue, bValue){
   return bbb(aValue, bValue);
}
のようにして
@eval exp="tf.zzz = bbb(tf.xxx, tf.yyy)"
といった形で『関数を呼び出す時に改めて値を指定する』方式にした方が可読性は高まるような気もする。あくまで俺の主観だけど


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch