Lua equivalent of Object.assign

Viewed 105

I'm new to Lua (proficient in JavaScript) and I want to assign some values to an object inside another object, something like this:

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

But this results in a very long code, what can I do to make this shorter? Will something like this work?

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

Even better, is there a one-liner like Object.assign(grandparent.parent.member, {prop1 = "val1", prop2 = val2}); etc.?

Thanks

1 Answers

Your "something like this" will work exactly as you wrote it. There's no built-in function for your "even better", but you could write one:

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