【问题标题】:iterating specific entries of a list迭代列表的特定条目
【发布时间】:2014-12-29 20:08:30
【问题描述】:

给定一个表格,如下所示:

t = {mon, tue, wed, thu, fri, sat, sun, spe, btn1, btn2, btn3, btn4, btn5, bar1, bar2, bar3, some_other_stuff, ... } 
-- assumed that all entries are existing objects

现在我想遍历所有“day”对象并给它们一个回调。

有没有类似(伪):

for _,v in pairs(t.{mon,tue,wed,thu,fri,sat,sun,spe})do
   v.callback = function()
      foo(bar)
   end
end

如您所见,我想遍历该表的特定部分。这可能吗? 在我的示例中,由于回调非常简单,因此它并不是真正需要的。 但是我正在尝试制作工厂构造器,并且赤手空拳地磨我的齿轮。

【问题讨论】:

    标签: list lua iteration lua-table


    【解决方案1】:

    虽然your solution 就足够了,但更有效的方法是定义一个新表:

    do
        local days = { 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun' }
        for _, v in ipairs( dayes ) do
           t[v].callback = function()
              foo(bar)
           end
        end
    end
    

    【讨论】:

      【解决方案2】:

      没关系,就这么简单:

      for _,v in pairs({t.mon, t.tue, t.wed, ...})do
         -- do your job
      end
      

      【讨论】:

        猜你喜欢
        • 2015-12-29
        • 2017-04-19
        • 2016-04-28
        • 2013-10-01
        • 1970-01-01
        • 2015-03-16
        • 1970-01-01
        • 2022-10-23
        • 1970-01-01
        相关资源
        最近更新 更多