</pre><p></p><strong>3.3 逻辑符:</strong><p></p><p> 跟C一样与(AND),或(OR),非(NOT),不同点在于其运算结果不同于C。</p><p></p><p>在lua中逻辑假只包含‘false’ 与‘null’,其他包括‘0’都表示真。</p><p><span style="font-family:monospace; white-space:pre; background-color:rgb(240,240,240)"></span></p><p><span style="font-family:monospace; white-space:pre; background-color:rgb(240,240,240)"><span style="white-space:pre"></span>a = nil;<span style="white-space:pre"></span>if(a) then <span style="white-space:pre"></span>print("a is true")<span style="white-space:pre"></span>else<span style="white-space:pre"> </span>print("a is false")<span style="white-space:pre"></span>end</span></p><div></div><p>其次在lua中逻辑符结果并不是真或者假而是所判断的值。</p><p> a and b // 如果 a 为真,则返回b;反之则返回 a </p><p> a or b // 如果 a 为真,则返回a ;反之则返回b</p><p> not 则只返回 true 或者 false </p><p> </p><pre name="code" class="html"> 看懂
(a and b) or c ;// 功能与c中 a?b:c;一致
3.4 连接符
连接符“ .. ”
功能就跟名字一样,将二个字符链接,如果操作数是数字则转换成字符
例如
print(10 .. 'b') // 显示 10b
print(type(10 .. 'b') //显示 string
3.5 优先级
^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or
其中 只有^ 和 .. 是右连接。
3.6 表的构造
构造器是创建和初始化表的表达式。表是 Lua 特有的功能强大的东西。
借用书上的代码,最简单构造表
days = {"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"}
表中目前我看到二种形式 一种是 键值对 例如:
tab = { ["key"]=1 , ["x"]=2} // 访问他们就是 tab.key ,或者 tab.["key"]
另外一种,类似数组 :
array={ 2 , 3 , 4 , 5} // array[1] =2 ,注意数组下标从 1 开始
在一个表中可以结合二种方式例如
muti_type = { 1 , ["key"]="string",2}
在其中,数组模式与键值对是分开标记的(大概)例如 要访问,muti_type中的数字‘2’ ,应该是 muti_type[2]而不是muti_type[3]