1. local 声明的变量/方法只在当前脚本文件有效。
2.
对象(包括
C#)映射来的。使用 . 来访问静态成员和变量。: 来访问方法。
3.
可以不以;结尾,因为习惯
+统一,最好还是加;
4. for i = 1, 10, 1 do
end
5. for i,v in pair( table ) do
end
注意如果
table索引不连续,无法保证遍历的顺序
6. while do
end
7.
逻辑运算符:
and or not
8.
三元运算符:
A and B or C
等同于
A ? B : C
9.
交换:
a, b = b, a
10.
多返回值:
a,b,c = func ( x );
11.
匿名方法
a = function() end
12.
没有默认参数,有变长参数:
function( … ) end
具体请百度。但能不用最好不要用。代码可读性太低。
13.
方法:
func( x, y ) end。调用时可以:func( 1 )。y
的值为默认
nil。
14.
如果变量
A不为nil。则if A then end为真。
15.
没有
continue。只有break。用if xxx then xxx end
代替。
16. Table索引默认从1开始。
17. Table任意值都能作为索引用。
18. Table索引可以不连续。
19. #table可以获取元素个数,但仅限于连续table。
20. Table的变量类型可以理解为引用,即 a = {}; b = a; b[1] = X; a[1] == X
如果不希望是引用,请
b = clone( a );
21.
调试时,可以
print( xxx )。会直接在console
中打印出
xxx 的值。Lua table
的值会显示为
userdata。
22.
常用的自带库:
1) table
如
: table.intsert( x );(此方法可保证table索引连续)
2) string
3) math
22.尽量减少,C#频繁调用Lua方法。尽可能不要使用update。
23.更多高级特性请自行百度,比如lua类的写法