lua中怎么判断一个table中是否包含某个变量/属性/函数


假设Table为obj,要查询的变量/属性/函数为A;

第一种方法:

if obj.A then

--此变量/属性/函数存在,do something

end

 

第二种方法

local state,isError = pcall(function()

  local x = obj.A;

  return type(x) ~= "nil"

end)

if  state and not isError then

--此变量/属性/函数存在,do something

end

报错:一般报错为===>field or property Exit does not exist

原理:pcall是一种调用方法的安全套,将异常吞在里面,而且返回调用是否顺利。有错误的话,pcall会返回false。

 

注:如果查询是否为函数,判断条件可以为  type(x)=="function"

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM