local用于限制变量和函数的作用域。
修饰变量
此变量只在此chunk(chunk知识)中有效。
例如:命令行中,一行就是一个chunk
一个if语句是一个chunk
修饰function
此函数作用域为此文件中,此函数定义之后(隐式声明)。引用此local function时,必须在此local function之后。
1 function recv_cmd() 2 cmd_test() #错误:找不到此函数 3 end 4 5 local function cmd_test() 6 7 end 8 9 function main() 10 cmd_test() #正确:能找到此函数 11 end
local和c语言中static都能够让程序的可读性提高,让人一目了然,这个函数的作用域。限制作用域后,还可防止后续敲代码时,胡乱的调用,保持程序结构清晰、稳定。