我是靠谱客的博主 兴奋黑裤,最近开发中收集的这篇文章主要介绍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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部