Lua学习笔记

这篇博客详细介绍了Lua编程语言的基础知识,包括标识符的规范,强调不应使用下划线开头大写字母的方式,因为这可能与保留字冲突。此外,文章还提及了Lua的关键字,并讨论了如何通过`type()`函数来判断数据类型。最后,博主对Lua的基本语法进行了总结,为读者提供了一个全面的入门指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标识符规范:

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

不推荐以下划线接大写字母如:_NAME,Lua中某些保留字也是这样的


关键字:

andbreakdoelse
elseifendfalsefor
functionifinlocal
nilnotorrepeat
returnthentrueuntil
while  


数据类型:

nil这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。
boolean包含两个值:false和true。
number表示双精度类型的实浮点数
string字符串由一对双引号或单引号来表示
function由 C 或 Lua 编写的函数
userdata表示任意存储在变量中的C数据结构
thread表示执行的独立线路,用于执行协同程序
tableLua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。

使用type(参数)判断数据类型:

print(type("Hello world"))      --> string
print(type(10.4*3))             --> number
print(type(print))              --> function
print(type(type))               --> function
print(type(true))               --> boolean
print(type(nil))                --> nil
print(type(type(X)))            --> string

基本语法总结:

--字符串定义的两种方式
str1 = "this is string1"
str2 = 'this is string2'

--多行字符串语法
str3 = 
[[asdasd    
asdasd
asdasd
asdasd
]]
print(str3)

--字符串的拼接
print("2".."6") --输出26
print("2" + "6") --输出8.0,当两者皆为number则会转换为number进行加法运算,乘法同理
--print("hello" + 1) --报错,无法转换“hello"
print(10 .. 20)  --lua期望一个string却碰到数字,会自动转为string 输出1020
--取字符串长度
print(#str3)
print(#"aaaaa") --输出5,直接计算长度


--table表相关语法:
tab1 = {} --空表 
tab2 = {key1 = 100,key2 = 200,k3 = "test"} ----正常初始化一个table

print(tab1)	--输出tab1的内存地址
print(tab2) --同上

print(tab2.key1)
print(tab2["key1"]) --当table表键为string时,以下标[]访问table时,中间必须双引号

tab3 = {"aaa","bbb","cccc","ddd"} --创建数组

print(tab3[1]) --访问无键table时,就是访问数组,下标从1开始

for key,val in pairs(tab3) do  --正常遍历table语法
	print(key..":"..val)
end

for key,val in pairs(tab2) do
	print(key..":"..val)
end
--对table内容的修改
tab1.key1 = "hello"
tab1.key1 = 10  --修改数据时直接覆盖
print(tab1.key1)

tab1.key1 = nil --删除该键值对

tab1[10] = 999 --以下标插入
print(tab1[10]) --以下标输出

--if语句语法
if false or nil then
    print("至少有一个是 true")
else
    print("false 和 nil 都为 false!")
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值