Lua 相当于 Object.assign

Lua equivalent of Object.assign

我是 Lua 的新手(精通 JavaScript),我想将一些值分配给另一个对象内部的对象,如下所示:

grandparent.parent.member.prop1 = "val1";
grandparent.parent.member.prop2 = val2;
grandparent.parent.member.prop3 = {foo = "bar"};

但这会导致代码很长,我该怎么做才能缩短它呢?这样的东西行得通吗?

ref = grandparent.parent.member;
ref.prop1 = "val1";

更好的是,有没有像Object.assign(grandparent.parent.member, {prop1 = "val1", prop2 = val2});之类的单行?

谢谢

你的“类似这样的东西”将完全按照你写的那样工作。你的“更好”没有内置函数,但你可以写一个:

function assign(tbl, props)
    for k,v in pairs(props) do
        tbl[k] = v
    end
end