Lua学习随笔
这只是随笔,用于记录学习Lua时个人觉得比较有意思的坑点
- lua的type方法总是回返回字符串,这是一个比较有意思的地方 当我第一次看到
print(type(nil) == nil)
的时候也会觉得应该输出ture才对。 可现实却是false,这是很有意思的一个地方,原因刚刚也提到了。 所以如果把代码改成print(type(nil) == "nil")
输出就会为True了。 - table表索引 table表索引也是一个很有意思的地方,刚刚开始学的时候我常常回混淆
a.x
和a[x]
,但实际上a.x
代表的是a["x"]
,而a[x]
则是指由变量X对应的值索引表,此外数字也是一个道理,最后整形与浮点类型值是相等的,作为表元素时,指向的是同一个表元素。 具体见下方测试图: (打上注释是因为不打就会报空出错) 输出结果: 可以看到我们声明对象a赋值为b,然后创建table表用对象a进行操作,等价于testTable["b"]="B"
这项操作。后面的字符串操作同理。 - and 和 or操作符 ** 不知为何这对我来说是个很绕的操作点,所以在这里记录一下 (lua中 只有bool类型的false和nil为false) and操作符:当第一个值为false时回返回这个值,不然就返回第二个值。 or操作符:当第一个值不为false时回返回这个值,不然就返回第二个值。 and 和 or都遵循短路原则,就是只有在必要的条件下才会对第二值进行操作。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小小故事汇!