我是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)?或者此语句是否会临时编译代码并在之后运行?
提前致谢
克里斯
答案 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指令。预编译的脚本只是跳过这一步。