【问题标题】:Lua equivalent of Object.assign相当于 Object.assign 的 Lua
【发布时间】:2021-12-31 17:21:10
【问题描述】:

我是 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}); 这样的单行符?

谢谢

【问题讨论】:

    标签: lua variable-assignment


    【解决方案1】:

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

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

    【讨论】:

    • 您的解决方案看起来不错!谢谢 :) 我认为变量是按值传递的,所以我认为我的示例会覆盖原始变量的副本。我实际上没有尝试过。谢谢!
    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 2016-06-23
    • 1970-01-01
    • 2021-07-29
    • 2020-07-13
    • 1970-01-01
    相关资源
    最近更新 更多