Lua 基本语法

注释

单行注释:

-- 单行注释

多行注释:

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

变量

变量类型:

1.boolean:true/false,没啥好说的
2.string:字符串类型,没啥好说的
3.number:32位数字类型
4.table:类似于 c 的数组,下标从 1 开始
5.function:函数类型,可以有多个返回值
6.userdata:用户自定义数据类型,满足 lua 和 c 的交互
7.thread:lua 不支持真正的多线程,thread 只是一种协同程序

if 语句

if(...) then
	...
elseif(...) then
	...
else
	...
end

for 语句

-- 普通
for i = 初始值,结束值,每次变动值 do
	...
end

-- 迭代
for i,arr in pairs(数组名) do
	print(arr)
end

while 语句

-- lua 中的 while
while(...) do
	...
end

-- lua 中的 do while
repeat
	...
until(...)

逻辑运算符

&& -> and
|| -> or
!(...) -> not(...)
!= -> ~=
i++ -> i=i+1

定义 function

-- 正常函数
function 函数名(参数名)
	...
end

-- 函数名绑定变量
变量名 = function 函数名(参数名)
	...
end

-- 多返回值
function func()
	a = 1
	b = 2
	return a,b
end
ret1,ret2 = func()

table 数组

-- 初始化空 table
arr1 = {}

-- 初始化带值 table
arr2 = {1,2,3}

-- 使用下标访问 table
print(arr2[1])

-- 字典
arr3 = {k1=1,k2=2,k3=3}

-- 使用 key 访问字典
print(arr3["k1"])

-- 获取 table 的长度
print(#arr2)
print(table.getn(arr2))

-- 获取字典长度
count = 0
for k,v in pairs(arr3) do
    count = count + 1
end

-- 拼接 
table.concat(变量,分隔符,开始位置,结束位置)

-- 插入
table.insert(变量,位置,值)

-- 删除
table.remove(变量,位置)

lua 中的面向对象

-- 定义空类
myClass = {}
myClass.__index = myClass

-- 定义类成员
myClass.a = "*"

--构造函数
function myClass:new(value_a)
	local obj = {}
	obj.a = value_a
	setmetatable(obj,myClass)

	return obj
end

-- 成员函数
function myClass:display()
	print("a = "..self.a)
end

-- 测试
local obj_test = myClass:new("hello word")
myClass:display()		-- 打印 *
obj_test:display()		-- 打印 hello world

lua 标准库

string

-- 获取字符串长度
string.len(字符串变量)		

-- 大小写转换
string.lower(字符串变量)
string.upper(字符串变量)

-- 反向
string.reverse(字符串变量)

-- 截取
string.sub(字符串变量, 开始位置, 结束位置)

-- acsii 转 字符串
string.char(97, 100, 101,...)

-- 字符串 转 acsii
string.byte(字符串变量,开始位置,结束位置)

-- c 中的 format 格式化
string.format("字符串:%s\n整数:%d\n小数:%f\n十六进制数:%X","qweqwe",1,0.13,348)

-- 查找子串位置
string.find(字符串变量, 子串)

-- 格式化查找子串
string.match(字符串变量, "%d")

math

-- lua 可以表示的最大数字
math.huge

-- 生成 1 ~ 100 的随机数
math.random(1,100)

os

-- 程序运了多久
os.clock()

-- 系统当前时间戳
os.time()

-- 获取年月日时分秒
os.date()

-- 执行 cmd 命令
os.execute("ipconfig")

-- 正常退出
os.exit(0)

-- 设置中文简体区域
os.setlocale("chs")

-- 获取进程环境变量值
os.getenv(环境变量名)

io
主要是一些对文件的操作,内容较多自行百度 😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值