【lua实战】数组和数组长度

打印 上一主题 下一主题

主题 821|帖子 821|积分 2463

大多数编程语言中,一个数组很容易盘算数组长度,一样平常都是使用现成的函数大概通过盘算得到,比如:
Python
  1. array = [1, 2, 3, 4, 5]
  2. length = len(array)
复制代码
JavaScript
  1. let array = [1, 2, 3, 4, 5];
  2. let length = array.length;
复制代码
Java
  1. int[] array = {1, 2, 3, 4, 5};
  2. int length = array.length;
复制代码
C#
  1. int[] array = {1, 2, 3, 4, 5};
  2. int length = array.Length;
复制代码
C++
  1. int array[] = {1, 2, 3, 4, 5};
  2. int length = sizeof(array) / sizeof(array[0]);
复制代码
Ruby
  1. array = [1, 2, 3, 4, 5]
  2. length = array.length
复制代码
Go
  1.         array := []int{1,2,3,4,5}
  2.         length := len(array)
复制代码
lua也有长度运算符,是#
Lua
  1. local array = {1,2,3,4,5}
  2. local length = #array
复制代码
但lua和别的语言不同之处是lua的数组索引从1开始,因此
Lua
  1. --例1
  2. local array1 = {}
  3. for i=1, 5 do
  4.     array1[i] = i
  5. end
  6. print(#array1)--5
  7. --例2
  8. local array2 = {}
  9. for i=0, 5 do
  10.     array2[i] = i
  11. end
  12. print(#array2)  --5
  13. --例3
  14. local array3 = {}
  15. for i=-5, 5 do
  16.     array3[i] = i
  17. end
  18. print(#array3)  --5
复制代码
上面三个例子输出结果都是5,由于#这个长度运算符是从1开始计数
要想盘算表array3的元素个数,必要用pairs来遍历。
Lua
  1. local len = 0
  2. for k,v in pairs(array3) do
  3.     len = len +  1
  4. end
  5. print(len) --11
复制代码
要注意,这种方式求得的是表array3的长度,而不是array3包含的数组长度。
原文地址:【lua实战】数组和数组长度 – 经云的清净小站 (skycreator.top)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表