NScripter Ver.18.00at GAMEDEV
NScripter Ver.18.00 - 暇つぶし2ch437:名前は開発中のものです。
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ではそうはいかない。



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