在Lua中向现有表中添加列。

在 Lua 中,我该如何在下面的表中插入一个新列?

table t = {
{name = "John", age = 19, sex = "M"},
{name = "Susan", age = 20, sex = "F"},
{name = "Paul", age = 18, sex = "M"}
}

我想在名字字段之前添加一个“id”列,以便表格如下所示:

table t = {
{id = 1, name = "John", age = 19, sex = "M"},
{id = 2, name = "Susan", age = 20, sex = "F"},
{id = 3, name = "Paul", age = 18, sex = "M"}
}

注:这个表的数据来自下面的文件:

entry {name = "John", age = 19, sex = "M"}
entry {name = "Susan", age = 20, sex = "F"}
entry {name = "Paul", age = 18, sex = "M"}

我正在使用以下代码将此数据插入表格:

data = {}
text = file:read()
do
    function entry(entrydata)
        table.insert(data, entrydata)
    end
    thunk = load(text, nil, nil, {entry = entry})
    thunk()
end
点赞
用户3585949
用户3585949
对于表 t 中的每个元素,依次执行以下代码:
for i,v in ipairs(t) do
    v.id=i
end

或者在加载时进行值的设定:

data = {}
text = file:read()
do
    local index=1
    function entry(entrydata)
        entrydata.id=index
        index=index+1
        table.insert(data, entrydata)
    end
    thunk = load(text, nil, nil, {entry = entry})
    thunk()
end
2014-05-05 04:59:10