给出的表格如下:
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
现在我想遍历所有“日”对象并给他们一个回调。
是否有类似(伪)的东西:
for _,v in pairs(t.{mon,tue,wed,thu,fri,sat,sun,spe})do
v.callback = function()
foo(bar)
end
end
因此,当您看到我想要遍历该表的特定部分时。这可能吗? 在我的例子中,由于回调非常简单,因此它并不是真正必要的。 但是我正在尝试制造一个工厂构造,而且只是赤手空拳来磨练我的齿轮。
答案 0 :(得分:2)
for _,v in pairs({t.mon, t.tue, t.wed, ...})do
-- do your job
end
答案 1 :(得分:2)
虽然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