Luaのlocal function
function main() function test() print("test") end test() end main() test()
実行結果です。
test test
testがmainの外側から見えてしまっています。
関数内でローカル関数を定義する場合は、local functionを使います。
function main() local function test() print("test") end test() end main() test()
実行結果です。
test lua: a.lua:40: attempt to call global 'test' (a nil value) stack traceback: a.lua:40: in main chunk [C]: in ?
local functionを使うのは関数内でローカル関数を定義するくらいだろうか?