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