我是靠谱客的博主 兴奋黑裤,这篇文章主要介绍2020新年第一坑——number变string,现在分享给大家,希望可以做个参考。

推荐阅读:

  •  我的CSDN
  •  我的博客园
  •  QQ群:704621321
  •  我的个人博客

今天是正月初三,早上新闻说因为新型冠状病毒的影响延迟上班,这不,下午游戏就出问题了,提前远程加个小班了。在大佬的指导下,终于发现了这个潜伏已久的问题。

问题如下:

有一个table,结构如下:
在这里插入图片描述
从输出来看,key值类型为number,如果要取key为1010的值,只需要遍历table,判断key==1010,代码如下:

for k,v in pairs(table)do
	if k==1010 then
		--TODO
	end
end

期望结果是能取到1010对应得到值,但事实上是,找到对应的key。

原因:

当lua的key类型为number时会自动转换为string

排查过程:

table表内容,输出key对应的value。期望输出的key为1010,实际输出结果为“1010”。猜测:当lua的key类型为number时会自动转换为string。为了进一步确定,又输出了type(key),结果如下:
在这里插入图片描述
事实证明:猜测是正确的。

正确做法:

在lua中应时刻谨记:string和number比较出错,一定要记得转换

for k,v in pairs(table)do
	if tonumber(k)==1010 then
		--TODO
	end
end

最后

以上就是兴奋黑裤最近收集整理的关于2020新年第一坑——number变string的全部内容,更多相关2020新年第一坑——number变string内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(118)

评论列表共有 0 条评论

立即
投稿
返回
顶部