lua 5.x的一些小知识

来源:互联网 发布:网络约车管理办法 编辑:程序博客网 时间:2024/05/18 21:42

1、调用数学函数方式为:math.x。 如math.sqrt()  math.sin()

2、遍历table的方法
   可以使用pairs,pairs的遍历,输出不是按照定义的先后顺序,而是按照key的hash值大小顺序
  同时lua也提供了按照key的大小顺序来遍历的,注意,是大小顺序,仍然不是key定义的顺序,这种遍历方式就是for k,v in ipairs(tbtest) do。

for k,v in ipairs(tbtest) do 这样的循环必须要求tbtest中的key为顺序的,而且必须是从1开始,ipairs只会从1开始按连续的key顺序遍历到key不连续为止。

'#'是一种神奇的符号,这个符号的作用是是获取table的长度,但这种长度不是table所有的元素个数,规则和ipairs类似。

因此,for i=1, #(tbtest) do这种遍历,只能遍历当tbtest中存在key为1的value时才会出现结果,而且是按照key从1开始依次递增1的顺序来遍历,找到一个递增不是1的时候就结束不再遍历,无论后面是否仍然是顺序的key

table.maxn()得到table中为整数的key的值最大值。


myData = {}
myData[0] = "fww"
myData[1] = 54

myData["name"] = "helly"

for key, value in pairs(myData) do
print(key.."="..value)
end

其它常用的方法。
  1. for key, value in pairs(tbtest) do  
  2. XXX  
  3. end 
  4.  
  5. for key, value in ipairs(tbtest) do  
  6. XXX  
  7. end 
  8.  
  9. for i=1, #(tbtest) do  
  10.     XXX  
  11. end 
  12.  
  13. for i=1, table.maxn(tbtest) do  
  14.     XXX  
  15. end 


0 0