localmodule={}functionmodule.main()print("module.main called")endfunctionmodule.noparam()print("module.noparam called")endfunctionmodule.oneparam(a)print("module.oneparams called "..a)endfunctionmodule.multiparams(a,b)print("module.multiparams called "..a.." "..b)endifpcall(getfenv,4)thenelseif#arg==0thenprint(module.main())elseif#arg==1thenprint(module[arg[1]]())elseprint(module[arg[1]](unpack(arg,2)))endendreturnmodule
root@OLYM-SW:/usr/lib/lua/test# lua test_nmod.lua
module.oneparams called hello
root@OLYM-SW:/usr/lib/lua/test# lua nmod.lua
module.main called
root@OLYM-SW:/usr/lib/lua/test# lua nmod.lua noparam
module.noparam called
root@OLYM-SW:/usr/lib/lua/test# lua nmod.lua oneparam a
module.oneparams called a
root@OLYM-SW:/usr/lib/lua/test# lua nmod.lua multiparams 12module.multiparams called 12