lua学习笔记(一)

时间:2021-12-01 10:00:09

lua是一种嵌入式的语言,首先安装。

lua安装依赖于readline库,下载readline

tar -zxvf readline-6.2.tar.gz

cd readline-6.2

./configure

make && make installl

然后解压lua

make linux test

完成之后,在src目录下,执行lua,打开终端

输入print('hello world')

就安装完成了

退出终端可以执行os.exit()

接下来执行一个简单的程序

-- defines a factorial function
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))

上面的程序接收一个数字,返回阶乘

lua不像python,对缩进的要求不严格

如果上述输入的不是数字,那么会报错,包含出错位置,错误信息和栈

../lua-5.1/src/lua: demo.lua:6: attempt to perform arithmetic on local 'n' (a nil value)
stack traceback:
    demo.lua:6: in function 'fact'
    demo.lua:12: in main chunk
    [C]: ?

lua语言不是用括号分隔语法块,作为一种data-description语言,可以有任意多的语句放在一个块中

lua交互模式可以使用-l参数表示require

在交互模式,还可以使用dofile加载单独的lua文件

dofile('demo.lua')