スクリプトも動かせるようになって、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