lua 批量table.insert()出现全部是同一个值
2020-02-04 03:44
309 查看
lua 批量table.insert()出现全部是同一个值
这个问题出现在我的上一篇文章,“lua 非ipairs结构的table.sort()实现” 中
有兴趣的朋友可以去看看。链接
代码:
local a = { [404] ="b", [403] = "c", [406] = "a", [401] = "d" } local b = {} local tempValue = {} for k,v in pairs(a) do --b[k] = v tempValue.key = k tempValue.value = v table.insert(b,tempValue) end for k,v in pairs(b) do print(k,v.key,v.value) end
结果:
1 403 c 2 403 c 3 403 c 4 403 c [Finished in 0.1s]
原因是我的tempValue定义在外部,而每次插入的tempValue并不是传值,而是传地址。将tempValue定义在循环内部即可。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【剑指Offer-时间效率平衡】在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 在一个字符串(1<=字符串长度<=10000,全部由大小写字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- UITableView中带分区的省市区字典,或一个页面出现全部省市区
- [经典面试题][搜狗]在一个字符串中寻找包含全部出现字符的最小字串
- 在一个数组中找出只出现一次的两个数字,其余数字全部成对出现。
- 中文字符频率统计。编写一个程序,对给定字符串中出现的全部字符(含中文字符)频率进行分析,采用降序方式输出
- [搜狗] 找一个字符串中包含全部出现字符的最小字符串
- 1.返回一个字符串中出现次数第二多的单词 2.字符串中可能有英文单词、标点、空格 3.字符串中的英文字符全部是小写
- 一个数组有除了两个元素只出现一次,其他元素全部都出现了两次,请找出只出现一次的两个元素,并输出
- 1.返回一个字符串中出现次数第二多的单词 2.字符串中可能有英文单词、标点、空格 3.字符串中的英文字符全部是小写
- 从键盘输入一个字符串与一个指定字符,将字符串中出现的指定字符全部删除
- 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 总结一个随机抽取算法(全部item出现概率和为100%)
- 一个字符串中查找另一个字符出现的全部索引位置(JAVA)
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 26.在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置