NScripter Ver.18.00at GAMEDEVNScripter Ver.18.00 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト437:名前は開発中のものです。 11/12/25 08:50:59.36 6cu7T9Y+ >>436 二つミスがある。 一つはfuncそのもの。 このfuncは、引数として与えられた文字列と数値を加工して返すものだと想像できる。 a.文字列については、"関数"と言う文字列を末尾に加えて返し、 b.数値については3倍して返す そういう動作をするものだと考えられる。 function func(str, num) return str.."関数", num*3 end これが一番簡単な実装。欲を言えば引数チェックも欲しい。 function func(str, num) if type(str)~="string" then NSOkBox("第一引数には文字列を指定してください。", "func"); NSEnd() end if type(num)~="number" then NSOkBox("第二引数には数値を指定してください。", "func"); NSEnd() end return str.."関数", num*3 end 二つ目のミスは、記述の順番。 Luaに限った話ではないが、プログラムは上から下に向かって実行される。 >>436 では、下の方でfuncを定義しているので、上の方ではまだfuncが未定義である。 なのにfuncを実行しようとしているので、「funcはnil(未定義)なのに、関数として実行しようとした」と言うエラーメッセージが出る。 順番を入れ替えるとこれは解消される。 NScripterでは、実行の前にラベルを解析してしまうので、これでも動くのだが、Luaではそうはいかない。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch