开发者

Beginning Lua: How to call functions from terminal on Mac OS?

I'm new to Lua and work around with some tutorials, try some basic stuff like coding common algorithms etc.

But I have some trouble while using the lua interpreter on my mac os machine.

For example let's say we have a file called 'sample.lua', holds the code line:

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

How do I run that function from terminal? If I don't use any function, I just call the script with 'lua script.lua' - works!

Next question points on the basic understand开发者_如何学Cing between the usage of non-compiled and compiled lua-source. Why is lua code run without compiling, like I mentioned before (lua script.lua)? Or will this statement compile the code temporarily and run afterwards?

Thanks in advance

chris


You can run lua from the terminal with the -i flag:

lua -i luascript.lua

This will execute the script and then put the interpreter into interactive mode. Then you could call the function right from the interactive prompt:

fib(3)


To run that function from the terminal, you would have to do something like:

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

The -e there just tells it to execute the following string, which loads your file 'sample.lua' and then prints the result of fib(3) to stdout.

I don't know the answer to your second question though.


Lua scripts are always compiled into Lua VM instructions before running. Precompiled scripts just skip this step.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜