LUA的内部全局函数

 

--内部全局函数
--内部全局函数会以最后一次调用的外部参数为其参数
function A(_test_par)
 function B()
  print(_test_par)
 end
 local public = {}
 function public.test()
  B()
 end
 return public
end


a1 = A(1)
a2 = A(2)
a1.test() --输出2
a2.test() --输出2

 

--内部局部函数
--内部局部函数会以定义时的相关的外部参数为其参数
function A(_test_par)
 local function B()
  print(_test_par)
 end
 local public = {}
 function public.test()
  B()
 end
 return public
end


a1 = A(1)
a2 = A(2)
a1.test() --输出1
a2.test() --输出2

 

--内部局部绑定函数
--内部局部绑定函数会以定义时的相关的外部参数为其参数
function A(_test_par)
 local public = {}
 function public.B()
  print(_test_par)
 end
 function public.test()
  public.B()
 end
 return public
end
a1 = A(1)
a2 = A(2)
a1.test() --输出1
a2.test() --输出2

你可能感兴趣的:(软件工程)