diff options
Diffstat (limited to 'core/lua/astal/variable.lua')
-rw-r--r-- | core/lua/astal/variable.lua | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/core/lua/astal/variable.lua b/core/lua/astal/variable.lua index 377b448..df83e5f 100644 --- a/core/lua/astal/variable.lua +++ b/core/lua/astal/variable.lua @@ -248,8 +248,8 @@ function Variable.derive(deps, transform) local update = function() local params = {} - for _, binding in ipairs(deps) do - table.insert(params, binding:get()) + for i, binding in ipairs(deps) do + params[i] = binding:get() end return transform(table.unpack(params)) end @@ -257,13 +257,13 @@ function Variable.derive(deps, transform) local var = Variable.new(update()) local unsubs = {} - for _, b in ipairs(deps) do - table.insert(unsubs, b:subscribe(update)) + for i, b in ipairs(deps) do + unsubs[i] = b:subscribe(update) end var.variable.on_dropped = function() for _, unsub in ipairs(unsubs) do - var:set(unsub()) + unsub() end end return var |