Lua 5.3 参考手册学习笔记
介绍
Lua 是一种用于嵌入式系统开发的轻量级脚本语言。它是一种解释性语言,可以在不编译的情况下直接运行。Lua 的设计目标之一是提供一种简单、高效、可扩展的语言。Lua 5.3 是最新版本,相对于早期版本改进了很多方面。
基本语法
Lua 的基本语法与许多流行的编程语言相似。下面是一些基础概念:
变量
变量在 Lua 中是用来存储数据值的。变量在使用前需要声明。声明可以用关键字 local 进行,也可以省略。下面是一些示例:
Copy Codelocal a = 1
b = 2
数据类型
Lua 支持多种类型的数据,包括数字、字符串、布尔值、nil 和表(table)等。下面是一些示例:
Copy Codelocal a = 1 -- 数字
local b = "hello world" -- 字符串
local c = true -- 布尔值
local d = nil -- nil
local e = {1, 2, 3} -- 表
流程控制
Lua 支持常规的流程控制语句,如 if, while, for 等等。下面是一些示例:
Copy Codeif a == 1 then
print("a is one")
elseif a == 2 then
print("a is two")
else
print("a is not one or two")
end
while i < 10 do
print(i)
i = i + 1
end
for i = 1, 10 do
print(i)
end
for k, v in pairs(e) do
print(k, v)
end
函数
函数是 Lua 中的一等公民。函数可以被嵌套和传递,还支持匿名函数。下面是一些示例:
Copy Codefunction add(a, b)
return a + b
end
local add1 = function(a, b)
return a + b
end
local add2 = function(a, b, f)
return f(a + b)
end
实例
下面是一个示例程序,用于计算 Fibonacci 数列:
luaCopy Code-- 计算斐波那契数列
function fib(n)
if n <= 0 then return 0 end
if n == 1 then return 1 end
return fib(n-1) + fib(n-2)
end
-- 打印前十个 Fibonacci 数
for i = 0, 9 do
print(fib(i))
end
输出结果为:
Copy Code0 1 1 2 3 5 8 13 21 34
结论
Lua 是一种简单、高效、可扩展的语言,适合于嵌入式系统开发和游戏脚本编写。学习 Lua 可以帮助程序员提高开发效率,因此深入学习 Lua 5.3 的语法和特性是非常有价值的。