从Lua开始:如何在Mac OS上从终端调用函数?

时间:2011-08-04 20:16:48

标签: function console lua terminal

我是Lua的新手并且可以使用一些教程,尝试一些基本的东西,如编码常用算法等。

但是在我的mac os机器上使用lua解释器时遇到了一些麻烦。

例如,假设我们有一个名为'sample.lua'的文件,保存代码行:

function fib(n) return n<2 and n or fib(n-1)+fib(n-2) end

如何从终端运行该功能? 如果我不使用任何功能,我只需用'lua script.lua'调用脚本 - 工作!

下一个问题点对非编译和编译的lua-source的使用之间的基本理解。为什么lua代码在没有编译的情况下运行,就像我之前提到的那样(lua script.lua)?或者此语句是否会临时编译代码并在之后运行?

提前致谢

克里斯

3 个答案:

答案 0 :(得分:4)

您可以使用-i标志从终端运行lua:

lua -i luascript.lua

这将执行脚本,然后将解释器置于交互模式。然后,您可以从交互式提示中调用该函数:

fib(3)

答案 1 :(得分:2)

要从终端运行该功能,您必须执行以下操作:

lua -e"dofile'sample.lua' print(fib(3))"

-e只是告诉它执行以下字符串,它会加载你的文件'sample.lua',然后将fib(3)的结果打印到stdout。

我不知道你的第二个问题的答案。

答案 2 :(得分:2)

Lua脚本在运行之前总是编译成Lua VM指令。预编译的脚本只是跳过这一步。