开发者

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

开发者 https://www.devze.com 2023-03-26 04:20 出处:网络
I\'m new to Lua and work around with some tutorials, try some basic stuff like coding common algorithms etc.

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

精彩评论

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