2

私が慣れ親しんでいる言語と Lua を区別しているように思われることの 1 つは、変数と関数の宣言をどの順序で配置するかが重要だということです。関数では、関数の後に宣言されたローカル変数にアクセスできません。例えば:

local function foo()
 return bar
end
local bar = 4
print(foo()) -- prints nil instead of 4

その前に宣言されている関数からローカル関数にアクセスしようとしている場合も同様です。

場合によっては、正しい順序で宣言することに気をつけていれば、すべてうまくいくことがあります。しかし、互いに呼び出す必要がある関数が 2 つ以上ある場合はどうでしょうか。関数はグローバルでなければなりませんか、それともローカル関数でこれを行う方法はありますか?

4

1 に答える 1