Lua语法介绍

本文介绍了Lua这门轻量级脚本语言,包括其注释、基础语法、流程控制、数据类型转换、函数、核心数据结构——table的使用,以及模块与包的管理。Lua table支持动态扩容,可以用任意类型作为索引,是实现模块、包和对象的关键。
摘要由CSDN通过智能技术生成

Lua介绍

1、Lua 是一种轻量小巧的脚本语言,用标准 C语言编写并以源代码形式开放, 其设计目的是 为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
2、Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。

Lua语法

1_注释

-- 单行注释 
--[[  
	多行注释 
--]] 

2_基础语法

-- ..代表拼接
str="helllo".."world" 
-- 同时为几个元素赋值 -- c为nil
a,b,c=1,2
-- 幂运算
c=a^2
-- 关系运算符之不等
print(a~=b)
-- 逻辑运算符
print(true or false)
print(not true)
-- 其他运算符之长度
print(#"str")

3_流程控制

1、条件

a,b=10,20 
if(a>b) 
then  
	print(a) 
else  
	print(b) 
end 

2、循环

-- while 循环  
a=10 
while(a>0) 
do  
	print(a)  
	a=a-1 
end 

-- repeat until 循环
b=10 
repeat  
	print(b)  
	b=b-1 
until(b<1) 

-- 数值for循环 -- 第三个参数代表步长,不写默认1 -- 输出结果是1 3 5 7 9
for a=1,10,2 do
	print(a)
end

-- 泛型for循环
--[[
	输出结果:
	1	a
	2	b
	3	c
--]]
arr={"a","b","c"}
for i,v in ipairs(arr)
	do print(i,v)
end
-- 遍历数组的另一种方法
for i=1,#arr
do
	print(arr[i])
end

4_数据类型转换

-- 注意大小写
local num=1
print(type(tostring(num))) --string
local str="10"
print(type(tonumber(str))) --number

5_函数

[local]function fun(a,b,c,d)  
	return a+1,b+1,c+1 
end  
r1,r2=fun(1,2,3)  
print(r1,r2)

6_table

table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数字、字典等。 Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。
Lua table 是不固定大小的,你可以根据自己需要进行扩容。 Lua 也是通过 table 来解决模块(module)、包(package)和对象(Object)的。 例如 string.format 表示使用"format"来索引 table string。

区分table和数组:table没有1/2/3这样的下标(你可以人为的设置1/2/3作为索引);table必须为空,然后用“索引-值”的方式添加数据。以下例子有助理解:
这里的arr是数组
在这里插入图片描述
在这里插入图片描述

7_模块与包

注意引包如果不是当前路径要加路径,多级目录之间用.隔开。
在这里插入图片描述
也可以指定引包的位置:package.path = ‘/usr/local/openresty/nginx/test_lua/abc/?.lua’
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值