中易网

lua布尔类型如果没找到的代码怎么写啊? if flag~=nil then 这样不行,怎么写啊?

答案:4  悬赏:0  
解决时间 2021-01-09 09:56
lua布尔类型如果没找到的代码怎么写啊? if flag~=nil then 这样不行,怎么写啊?
最佳答案
<> <= >= == ~= 这些操作符返回结果为false或者true;==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等。
逻辑运算符认为false和nil是假(false),其他为真,0也是true.
这样写是可以的.追问那问题出在哪?我测试找蓝色,另外写代码单独找可以找到但是这里就找不到了
全部回答
纤博大嘲副水草任
-- flag:true or (false or nil)
if not flag then
  print("flag = false or nil")
else
  print("flag = true")
end
-- flag:true or false or nil
if flag == false then
  print("flag = false")
elseif flag == true then
  print("flag = true")
else
  print("flag = nil")
end
首先我们说一下if 的计算方法
当if 为真时执行then之后的语句
除了nil 和false 之外的所有值都为真(即使是"",0 ,"\0"也是真)
那么看你的语句 if flag ~= nil then
有可能出现的问题是flag是false false和nil虽然在转化成boolean类型时都是假 但是它们两个仍然不等
所以你可以考虑把你的表达式改成
if flag then xxxxxx else xxxx end追问问题是只需要flag为假的时候执行代码,真就不管,
if flag then
else
执行代码
这样会不会占用资源高些啊?追答不会
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
门窗如何安装才能避免潮湿天气?
高校教师是以科研为主还是应该以教学为主一直
一亩橡胶林能产多少公斤干胶?
有种衣服长袍有兜帽,后尾分叉的,衣服很长,
证明方程x^5+x-1=0只有一个正根
央视上那个德馨醛干净除醛怎么样?
油气两用货车气罐几年一检
姚什么魏什么的成语
中国移动业务不能取消怎么办
北京现代郎动,瑞纳,还有悦达起亚K3 这几款
求《非我倾城王爷要休妃》番外秦歌和海蓝在现
渔网抓鱼白天可以吗
手机app 被强制停用后,如何恢复它的正常使用
天宇职高2015招生分数线
“炒”这个烹饪手段在历史上是什么时候出现的
推荐资讯
李子健音乐舞蹈艺术中心地址在哪,我要去那里
6什么加10什么等于1什么意思,感情方面的回答
他他他这是什么歌?男的唱的粤语歌很激情的
急求识汝不识丁的百度云。
有人上过网教吗?是不是骗人的?
在分封制中到底什么被改造了
鑫杰通兴加油站地址在什么地方,想过去办事
古巴盛产什么农产品
建筑面积长一百米宽二十米高九米怎么算出面积
两个月大小金毛总用后抓挠脖子附近是怎么回事
有个女生让我接歌词 归家饰演你的好情人 专心
“小孩子”粤浯怎么。用粤语说小孩子。
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?