3.1 初识Lua
Lua是一种轻量级的脚本语言,它使用标准C语言编写,并以源代码形式开放。它的设计目标是嵌入到应用程序中,为应用程序提供灵活的扩展和定制功能。您可以在官方网站https://www.lua.org/上了解更多关于Lua的信息。
Lua经常被嵌入到C语言开发的程序中,例如游戏开发和游戏插件等。由于Nginx本身是用C语言开发的,因此也允许使用Lua进行扩展。
3.1 HelloWorld
CentOS 7默认已经安装了Lua语言环境,因此您可以直接运行Lua代码。
- 在Linux虚拟机的任意目录下,创建一个名为
hello.lua
的文件。 - 在文件中添加以下内容:
print("Hello World!")
- 运行以下命令来执行Lua代码:
lua hello.lua
您应该会在控制台上看到输出结果为Hello World!
。
3.2 变量和循环
学习任何编程语言都离不开变量和循环。在Lua中,变量的声明无需指定数据类型,而是使用local
关键字来声明局部变量。
3.2.1 Lua的数据类型
Lua支持常见的数据类型,包括:
- nil:表示无效值或空值。
- boolean:表示布尔值,可以是
true
或false
。 - number:表示数字,可以是整数或浮点数。
- string:表示字符串,可以使用单引号或双引号。
- table:表示表,可以用来表示数组、字典等复杂数据结构。
- function:表示函数。
- userdata:表示用户自定义数据类型。
- thread:表示独立执行的线程。
- coroutine:表示协程。
您可以使用type()
函数来判断变量的数据类型。
3.2.2 声明变量
在Lua中,变量的声明使用local
关键字,无需指定数据类型。以下是一些示例:
-- 声明字符串
local str = 'hello'
-- 字符串拼接
local str2 = 'hello' .. 'world'
-- 声明数字
local num = 21
-- 声明布尔类型
local flag = true
Lua中的表(table)类型既可以作为数组,也可以作为字典(类似于Java的map)来使用。数组是表的一种特殊形式,其中键(key)是数组的索引。
-- 声明数组
local arr = {'java', 'python', 'lua'}
-- 声明字典
local map = {name = 'Jack', age = 21}
在Lua中,数组的索引从1开始,可以使用索引来访问数组元素:
lua
-- 访问数组元素
print(arr[1])
字典可以通过键来访问:
lua
-- 访问字典元素
print(map['name'])
print(map.name)
3.2.3 循环
在Lua中,我们可以使用for
循环来遍历表。不过,数组和普通表的遍历方式略有不同。
遍历数组:
-- 声明数组
local arr = {'java', 'python', 'lua'}
-- 遍历数组
for index, value in ipairs(arr) do
print(index, value)
end
遍历普通表:
lua
-- 声明表
local map = {name = 'Jack', age = 21}
-- 遍历表
for key, value in pairs(map) do
print(key, value)
end
3.3 条件控制和函数
Lua中的条件控制和函数声明与Java类似。
3.3.1 函数
在Lua中,函数的定义语法如下:
function 函数名(参数1, 参数2, ..., 参数n)
-- 函数体
return 返回值
end
例如,定义一个函数来打印数组:
function printArr(arr)
for index, value in ipairs(arr) do
print(value)
end
end
3.3.2 条件控制
和Java一样,Lua也支持条件控制语句,例如if
和else
。
if 布尔表达式 then
-- 当布尔表达式为true时执行的代码块
else
-- 当布尔表达式为false时执行的代码块
end
与Java不同的是,Lua中的布尔表达式使用英文单词表示逻辑运算符:
-
and
:逻辑与 -
or
:逻辑或 -
not
:逻辑非
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xD85a7uI-1691285483911)(assets/image-20210821092657918.png)]
3.3.3 示例
假设我们有一个需求:定义一个函数,可以打印表(数组或字典),如果参数为nil
,则打印错误信息。文章来源:https://www.toymoban.com/news/detail-631174.html
function printArr(arr)
if not arr then
print('数组不能为空!')
end
for index, value in ipairs(arr) do
print(value)
end
end
以上是Lua语法的入门介绍,希望对您有帮助。您可以继续深入学习Lua,掌握更多高级特性和用法。
请注意,这只是一个示例,您可以根据自己的需要进行修改和补充。希望这对您有所帮助!文章来源地址https://www.toymoban.com/news/detail-631174.html
到了这里,关于Lua语法入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!