Saturday, June 9, 2012

pairs가 아닌 ipairs를 써야 하는 경우

다음같이 key 이름이 주어지지 않은 array 에 대해 pairs 를 하면 엉뚱한 garbage 값이 enumerate 되곤 한다.
(실제 elements 수보다 하나 더 많이 enumerate 되곤 함)
 sprites_aniLoopBnF_breakable = {   
      {["filename"]="enemyFlyGreen", ["w"]=42, ["h"]=58, ["numFrames"]=3, ["durationTime"]=2400},  
      {["filename"]="enemyFlyBlue", ["w"]=42, ["h"]=58, ["numFrames"]=3, ["durationTime"]=2400},  
      {["filename"]="df", ["w"]=100, ["h"]=106, ["numFrames"]=3, ["durationTime"]=2400}  
 }  
   
 function loadData(displayType)  
      for k, v in ipairs(sprites_aniLoopBnF_breakable) do  
           print(count .. ")", v.filename, v.w, v.h)  
           ...  
      end  
 end  

No comments:

Post a Comment