内容会持续更新,有错误的地方欢迎指正,谢谢!
前言
上一篇文章:Lua菜鸟教程学习笔记一(基本语法和数据类型)介绍了Lua的基本用法,但缺少一些细节的内容,本文会补充一些细节。
正文
Lua 变量
全局变量、局部变量
Lua 赋值语句
多值赋值:
1.Lua可以对多个变量同时赋值:a, b = 10, 2
等价于a=10; b=2
2.多值赋值经常用来交换变量:x, y = y, x
3.多值赋值还用来将函数调用返回给变量:a, b = f()
,f()返回两个值,第一个赋给a,第二个赋给b。
4.多值赋值时,当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略:
a. 变量个数 > 值的个数 按变量个数补足nil
b. 变量个数 < 值的个数 多余的值会被忽略
a, b, c = 0
print(a,b,c) --> 0 nil nil
Lua 索引
对 table 的索引使用方括号 [],t[i]
,gettable_event(t,i) -- 采用索引访问本质上是一个类似这样的函数调用
Lua 循环
while 循环、for 循环、repeat…until重复执行循环,直到 指定的条件为真时为止
--while循环
while( true )
do
print("循环将永远执行下去")
end
--for循环
for a=1,4 do
print(a)
end
--或
local tbl = {"apple", "pear", "orange", "grape"}
for key, val in pairs(tbl) do
print(key,val) --注意:key默认从1开始
end
--repeat...until循环
repeat
print("value of a:", a)
a = a + 1
until( a > 15 )
Lua 流程控制
Lua 把 false 和 nil 看作是"假",其他的都为"真",包括 0 也为 true。
if(0)
then
print("0 为 true")
end
输出为0 为 true
Lua 函数
主要的两种用途:
1.完成指定的任务;
2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。
Lua 编程语言函数定义格式如下:
optional_function_scope function function_name( argument1, argument2, argument3..., argumentn)