Lua学习总结
由于一些工作上的需要,开始对Lua的学习。之前有JavaScript的基础,而且两者都是脚本语言,所以本总结旨在列出与JavaScript不同的地方,方便后续的回顾和学习。下面进入正题吧!
1、注释 :
单行注释:-- 多行注释:--[[ --]]
2、类型和值:
A、Lua会自动在String 和 numbers 之间自动进行类型转换,当一个字符串使用算数操作符(+-*/^-)是,string就会被转成数字。(默认,自动转)
print("10" + 1); -->11 print("10 + 1"); -->10 + 1 print("5" * "2"); -->10 print("Hello" + 1); -->Error(cannot convert "Hello")
B、当一个String 碰到数字时,期望将数字转成string ,可以使用 .. ,可以理解为, .. 操作符就是字符串连接符
print(10 .. 45); -->1045
C、[[ ....]]可以用来表示多行字符串,并且其中所包含的字符串不会解释转义序列,用来包含一段代码非常方便。
3、表达式:
A、逻辑运算符: and or not ,它认为false 和 nil 为假(false),其它的为真,0也是true;
实用技巧:
X = X or V ; --如果X为false或者nil,就给X赋初始值
C a ? b : c ; <--> Lua (a and b) or c;
B、Lua数组中的下表默认从 1开始,而非从0开始
4、赋值语句:
Lua可以对多个变量同时赋值,赋值语句右边的值会依次赋值给左边的变量; a , b = 10 , 2*5;
技巧:遇到赋值语句,Lua会先计算右边所有的值,然后在执行赋值操作。因此交换变量的值可以这样做: a[i] , a[j] = a[j] , a[i];
当变量个数和值个数不一致时,以变量个数为准;
最新文章
- Swift 学习中的一点体会,不断更新中。。。
- jQuery的选择器中的通配符
- (转)nodejs中npm常用命令
- matlab GUI界面编程总结
- 此数据库文件与当前sql server实例不兼容
- 多线程BackroundWorker 使用
- Cookie与Session的区别
- java中两个值互换
- 【LeetCode】66 &; 67- Plus One &; Add Binary
- linux mysql 授权以及 iptables开启3306
- jmeter JDBC 连接数据库
- qt 多语化
- 3. Go语言基本类型
- Jenkins&#160;利用Dashboard&#160;View插件管理任务视图
- C/C++编译、链接、运行的基础知识
- python web.py操作mysql数据库,实现对数据库的增删改查操作
- 微信小程序 HMACSHA256 哈希加密
- 跨域(六)——window.name
- 17.struts-开发流程.md
- 团队作业8-测试与发布(beta阶段)