スクリプトも動かせるようになって、luasubとかluacallとかの概念は理解出来てきた、と思う。 とりあえず、分からないなりに進めてるけど、最初の例題 ******************************************************************************** -- 例題 -- 以下でOKが表示されるよう、関数funcを定義してみること。 str, num = func("", 1) if str == "関数" and num == 3 then NSOkBox("OK!", "") end str, num = func("変数と", 123) if str == "変数と関数" and num == 369 then NSOkBox("OK!", "") end ******************************************************************************** これが、超難問 おそらく、func という関数を自作して、引数として "" と 1 を受け取り、 それをfunc内で処理して、結果を戻り値として、変数str, numに代入する、 という、引数・戻り値・代入の3つの作業を同時に行わなくてはならない、 超エキスパート向けの難問なのだろうと、理解してとりかかる。 考えた回答を書いてみる ******************************************************************************** str, num = func("", 1) if str == "関数" and num == 3 then NSOkBox("OK!", "") end str, num = func("変数と", 123) if str == "変数と関数" and num == 369 then NSOkBox("OK!", "") end
function func(str_tmp,num_tmp) --""と1 をfuncに受け取る方法が分からない if str_tmp == nil then return str_tmp = "関数",num_tmp + 2 end if str_tmp == "変数と" then return str_tmp = "変数と関数",num_tmp + 246 end end ******************************************************************************** 動かしてみるとエラーメッセージ --------------------------- [string "str, num = func("", 1)..."]:1: attempt to call global 'func' (a nil value) --------------------------- ってなんだorz 多分、文法が間違ってるんだろうけどわからんorz