- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.Lua基础知识
1. Lua 基础知识
(1) 变量
赋值
赋值是改变⼀个变量的值和改变表域的最基本的⽅法。Lua 中的变量没有类型,只管
赋值即可。⽐如在 Lua 令⾏下输⼊:
end_of_world = death
print(end_of_world)
end_of_world = 2012
print(end_of_world)
上⾯这四⾏代码 Lua 不会报错,⽽会输出:
death
2012
局部变量
使⽤ local 创建⼀个局部变量,与全局变量不同,局部变量只在被声明的那个代码块
内有效
x = 10
local i = 1 -- 局部变量
while i=x do
local x = i*2 -- while 中的局部变量
print(x) -- 2, 4, 6, , ...
i = i + 1
end
应该尽可能的使⽤局部变量,有两个好处:
1. 避免 名冲突
2. 访问局部变量的速度⽐全局变量更快
代码块(block)
代码块指⼀个控制结构内,⼀个函数体,或者⼀个chunk (变量被声明的那个⽂件或
者⽂本串)。
我们给block划定⼀个明确的界限:do ..end 内的部分。当你想更好的控制局部变量的作
⽤范围的时候这是很有⽤的。
do
local a2 = 2*a
local d = sqrt(b^2 - 4*a*c)
x1 = (-b + d)/a2
x2 = (-b - d)/a2
end -- scope of a2 and d ends here
print(x1, x2)
(2) 类型
虽说变量没有类型,但并不是说数据不分类型。Lua 基本数据类型共有⼋个:nil、
boolean 、number 、string、function 、userdata、thread、table 。
Nil Lua 中特殊的类型,他只有⼀个值:nil ;⼀个全局变量没有被赋值以前默认
值为nil ;给全局变量负nil可以删除该变量。
Booleans 两个取值false和true 。但要注意Lua 中所有的值都可以作为条件。在控
制结构的条件中除了false和nil为假,其他值都为真。所以Lua认为0和空串都是
真。
Numbers 即实数,Lua 中的所有数都⽤双精度浮点数表⽰。
Strings 字符串类型,指字符的序列,Lua 中字符串是不可以修改的,你可以创
建⼀个新的变量存放你要的字符串。
Table 是很强⼤的数据结构,也是 Lua 中唯⼀的数据结构。可以看作是数组或
者字典。
Function 函数是第⼀类值 (和其他变量相同),意味着函数可以存储在变量
中,可以作为函数的参数,也可以作为函数的返回值。
Userdata userdata可以将C数据存放在Lua变量中,userdata在Lua 中除了赋值和相
等⽐较外没有预定义的操作。userdata⽤来描述应⽤程序或者使⽤C实现的库创
建的新类型。例如:⽤标准/O库来描述⽂件。
Thread 线程会在其它章节来介绍。
可以⽤ type 函数取得表达式的数据类型:
print(type(undefined_var))
print(type(true))
print(type(3.14))
print(type(Hello World))
print(type(type))
print(type({}))
(3) 表达式
操作符
1. 算术运算符:+ - * / ^ (加减乘除幂)
2. 关系运算符: = == ~=
3. 逻辑运算符:and or not
4 . 连接运算符:..
有⼏个操作符跟C语⾔不⼀样的:
a ~= b 即 a 不等于 b
a ^ b 即 a 的 b 次⽅
a .. b 将 a 和 b 作为字符串连接
优先级:
1. ^
2. not -(负号)
3. /
4 .
您可能关注的文档
- 1-1矩阵的定义.ppt
- 1-2复平面上曲线和区域.ppt
- 1-1光的电磁理论_投影稿.pdf
- 1-3关联矩阵之间的关系.ppt
- 1-3静力学公理.doc
- 1-5节条件概率.ppt
- 1-Fourier积分与Fourier变换.pdf
- 1-6初等矩阵.ppt
- 1-4等可能概型(古典概型).ppt
- 1-自测题答案me.ppt
- 数字图书馆智能检索系统在2025年信息检索技术革新中的应用报告[001].docx
- 2025年天津市庄园传统手工艺传承体验工坊建设可行性研究报告.docx
- 数字图书馆智能检索系统在2025年知识产权保护中的应用.docx
- 2025年海绵项目招商引资风险评估报告.docx
- 数字图书馆智能检索系统在2025年高校图书馆的应用与创新.docx
- 2025年海绵新材料市场分析现状.docx
- 光子芯片在数据中心高性能计算应用场景案例分析报告.docx
- 2025年海南大学805材料科学与工程学院085601材料工程报录数据分析报告(初试+复试+(1).docx
- 2025年新能源汽车试验发展分析及未来五到十年行业趋势洞察.docx
- 2025年果汁研究分析报告.docx
文档评论(0)