Lua语句
来源:互联网 发布:淘宝网红店铺有哪些 编辑:程序博客网 时间:2024/06/06 18:49
1.赋值语句
Lua中的赋值,直接使用赋值操作符,比如:
a = 30; // 单个赋值a, b = 10, 30; // 多个赋值a, b = b, a; // Lua中交换值时不要临时变量做中介,只需要直接赋值就行了// 函数返回多个返回值function someValue() local a, b = 10,20; return a, b;endprint(someValue()); // 输出为:10,20
2.局部变量与块
Lua中有局部变量和全局变量,定义一个局部变量,只需要在变量名称前面添加关键字local
,不加local
修饰的变量均是全局变量。例如:
i = 10; // 全局变量local j = i; // 局部变量
局部变量的作用域只在声明它的块儿内,比如一个局部变量只在函数内声明的话,退出函数时它就不能被访问了,当一个局部变量在循环中声明,如果循环结束,局部变量的生命周期就结束了。
(1)如果变量没有被赋值,会被自动赋值为nil
;
(2)如果赋值操作符的左边变量更多,那么多出来的变量会被自动赋值为nil
;
(3)如果赋值操作符的右边值更多,那么多余的值会被抛弃;
(4)如果需要在一段代码中插入一段代码可以使用块do...end
。例如:
if true then do local i = 10; print(a); endend
3.控制语句
(1)if...then...elseif...else...end
Lua中没有C++/C中的条件判断语句switch
语句,但是可以使用if
语句代替。
local a, b, c = 10,20,30;if (a > b) then //...elseif(a > c) then //...else //...end
(2)while
语句
Lua中的while
语句和其他语言的while
语句用法是一样的。
在C++/C中,while语句的写法如下:
// C++/C中while(a < 5){ ++a;}// Lua中,Lua中没有自增运算符++while (a < 5) do a = a + 1;end
(3)repeat... until
Lua中的repeat
语句类似于do...while
语句,都是先执行一次,然后在判断条件是否满足。
local i = 0;repeat i = i +1; print(i..", ");until(i > 3)// 输出为:1,2,3,4
和其他语言不同的是,repeat...until
中定义的局部变量作用域范围包括了until
中语句。
(4)for
Lua中的for
循环语句分成两种:数字for
循环和泛型for
循环。
1)数字for循环
表示从from到end,每次递增step,step不设置的话默认是1,
for var = from, end, step doend// form:开始,end:结束,step:步长
2)泛型for
循环
Lua库中为泛型for循环提供了几个迭代器函数: io.line
:用于遍历每行; pairs
: 用于遍历迭代table元素; ipairs
:用于迭代数组元素; string.gmatch
: 用于迭代字符串中的单词。
days = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};for k, v in paris(days) do print(v);end
(5)break
和return
break
跳出当前块,return
结束当前函数,break
和return
只能在块中的最后一条语句,否则需要do...break...end
构造一个块。
- Lua 语句
- Lua语句
- lua语句
- Lua基础 语句
- lua 语句学习
- Lua控制结构语句
- Lua表达式和语句
- Lua基础 语句
- lua控制结构语句
- Lua基础 语句
- Lua入门教程 4.语句
- (四)Lua语句
- 三、Lua中的语句
- Lua 条件语句
- Lua基础语句总结
- lua if语句
- lua 表达式及语句
- Lua基础---循环语句
- Kafka源码分析之Sender
- STM32 CubeMX HAL UART interface API
- JNI 开发笔记 - 示例代码
- 进程间通信 - 匿名管道实现
- 如何回答「未来5年如何规划?」【面试核心问题8】
- Lua语句
- DBGridEh解决乱码问题
- CI框架导出数据
- Java调用ICTCLAS2016 之中文分词
- 函数指针 指针函数 指针的指针 指向指针数组的指针
- HDU-5662 YJQQQAQ and the function (枚举&&单调栈)
- 后台运行
- iOS多线程-SDWebImage简单介绍 1 设置imageView的图片 (内存缓存&磁盘缓存) 1 [cell.imageView sd_setImageWithURL:[NSURL URL
- 如何回答「有什么问题要问我」?【面试核心问题9】