相关文章推荐
风流的日记本  ·  VS2019 下配置 ...·  1 年前    · 
逃跑的企鹅  ·  JS(解构) ...·  1 年前    · 

首先我们应该知道的是执行文件的参数都在 arg这个数组中。arg可以在文件中直接使用

-- 启动 arg作为文件输入参数的数组 arg[1] 表示第一个参数。   arg[2]表示第二个参数
-- 输出数组长度 
print(#arg)
-- 逐个输出数组值
for i=1,#arg do
    print("参数"..i.." 参数值"..arg[i])

比如上述的文件名为show.lua:

直接lua执行: lua test.lua first second

参数1 参数值first 参数2 参数值second
调用select时,必须传入一个固定的实参selector(选择开关)和一系列 参数 。如果selector为数字n,那么select返回 参数 列表中从索引n开始到结束的所有 参数 列表,否则只能为字符串。 Lua 函数可以接收可变数目的 参数 ,和C 语言 类似,在函数 参数 列表中使用三点。同时我们可以将可变 参数 赋值给一个变量。,这样select返回变长 参数 的总数。表示函数有可变的 参数 。输出结果与上述一样。 在 Lua 中,可以通过 命令行参数 的形式向 Lua 脚本传递 参数 Lua 提供了一个全局表arg,它是一个数组,其中包含了 命令行参数 。默认情况下,arg[0]包含脚本的名字,而arg[1]开始则是脚本接收的实际 参数 。 问题描述: 写一个函数getArgs(func)返回函数func的行参列表   思路是:利用 lua 的debug库,有一个debug.sethook(hook)函数,在注册的hook函数里面去 获取 参数 列表,于是有了下面的代码: function getArgs(fun) local hook = function( ... ) local info = debug.getinfo(2) Lua 提供了 debug 库用于提供创建我们自定义调试器的功能。 Lua 本身并未有内置的调试器,但很多 开发 者共享了他们的 Lua 调试器代码。crl输出结果:在以实例中,我们使用到了 debug 库的 traceback 和 getinfo 函数, getinfo 函数用于返回函数信息的表。我们经常需要调试函数的内的局部变量。我们可以使用 setupvalue 函数来设置这些局部变量。输出结果:在以上实例中,计数器在每次调用时都会自增1。