初识Lua

最后更新于:2022-04-01 20:43:55

跟学习其他的编程语言一样,学习Lua从hello world开始。 新建一个文件,hello.lua,内容为 print("hello world")。 在shell界面,输入lua hello.lua ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-09-06_57ce5eec9ef5c.PNG) 下面定义个函数 新建一个文件 func_test.lua 内容如下: ~~~ -- define a factorial funcition function fact (n) if n == 0 then return 1 else return n * fact(n-1) end end print("enter a number:"); a=io.read("*number") -- read a number print(fact(a)) ~~~ 运行 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-09-06_57ce5eecb77ff.PNG) 关于语句块 lua在连续语句之间是不需要分隔符的,例如下面的4个语句块是等价的。 ~~~ a = 1 b = a*2 a = 1; b = a*2; a = 1; b = a*2; a = 1 b = a*2          -- ugly, but valid ~~~ 上面的两个示例,我们是将code写到文件中去运行的,还有另一种方式也可以运行lua语句,就是在交互模式下 在shell模式下,输入lua,不带任何参数,会进入交互模式 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-09-06_57ce5eeccb2d1.PNG) 要退出交互模式,可以用ctrl+d或者输入os.exit() 在得到上图所示的状态后,可以直接输入lua语句运行,lua会把每一行当成一个完整的块来对待,如果它检测到一行构不成一个完整的块,那么它会等待块输入完成。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-09-06_57ce5eecdea8d.PNG) 在交互模式下,也可以通过dofile函数来执行lua脚本文件,也可以在执行了一个文件以后通过 -i 选项让lua进入到交互模式,示例如下,我们将上面的func_test.lua改成lib.lua,并将最后3行注释掉 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-09-06_57ce5eed0084f.PNG)            ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-09-06_57ce5eed159bb.PNG) 水平有限,如果有朋友发现错误,欢迎留言交流。
';