Redis进阶 Lua表类型

【Lua表类型】

可以看做是  数组和对象的结合体。兼具两者的性质

1.声明方式一

 或者

 可以看出这和js中声明对象的形式是一样的

 

2.声明形式二

 可以看到这和js里面的数组形式很像,但是需要注意的是,下标是从1开始,而不是0

 

这里可以使用for打印出来数组的内容,需要注意for循环的内容 index,value而不是传统的变量,终值,步长

 使用的是ipairs迭代器

 

等效于下面的

 #a取的是数组的长度

 

ipairs是Lua的迭代器,会从key的值为1开始遍历,一直到值为nil时停止遍历。

比如

 由于key=3时,值为nil,相当于[3]=nil 。所以后续不再输出了

 

【ipairs和pairs的区别】

1.上面讲到ipairs一直到值为nil就会停止遍历,而pairs会输出所有

 2.pairs和ipairs都会优先输出key为nil的值,并且为他们一次赋键值。而ipairs之后会判断下一个key为整数的值是否为nil,若为nil则停止输出。

pairs会遍历所有键值输出,但遇到已经赋值的键时会跳过

 在上例中,[3]已经赋值,如果改为[4],则两个都会输出d。

posted @   RookieCoderAdu  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示