在Lua解释器中获取命令行参数

如何在 Lua 中调用函数?

我是 Lua 初学者,无法找到执行一些非常简单的代码的方法。我编写了一个 test.lua,并将其设置为可执行。我将以下代码放在其中:

function Double(n)
 return 2*n
end

print(Double(15))

如果我调用 test.lua,它将返回 30,这很好。

现在我删除了 print 行,希望能够通过以下方式调用函数:

test.lua 15

但它不起作用。我该如何从命令行或从 Lua shell 调用该函数,而不需要硬编码第一个参数?

点赞
用户30470
用户30470

你可以向脚本传递一个参数,它将出现在全局参数arg中。

例如:

function Double(n)
 return 2*n
end

print(Double(arg[1]))

http://www.lua.org/pil/1.4.html

2012-06-18 16:28:15
用户501800
用户501800

您也可以使用 ... 来获取命令行参数:

local input = ...
if input then
  local Double
  Double = function(input)
    return 2 * input
  end
  return print(Double(input))
end
2015-02-13 14:53:08