【问题标题】:join two string to one table in Lua将两个字符串连接到 Lua 中的一个表
【发布时间】:2019-11-06 18:52:44
【问题描述】:

我有 2 个字符串:

fields="a,b,c,d,e"

values="1,2,,4,5"

我需要一个表格,以获取如下的对值:

print(result.a) -> "1"

print(result.c) -> "" (or nil)

有可能吗?

【问题讨论】:

  • 您必须使用这两个字符串还是有可能使用 lua 表?例如local result = {a = 1, b = 2, c = '', d = 4, e = 5}.
  • 是的,有可能。对于初学者,请参阅this question

标签: lua lua-table


【解决方案1】:

这是一个在没有 for 循环的情况下利用生成器的机会。下面的代码串联运行两个 gmatch 生成器。

fields="a,b,c,d,e"
values="1,2,,4,5"

fields=fields.."," ; F=fields:gmatch("(.-),")
values=values.."," ; V=values:gmatch("(.-),")

result={}
while true do
    local k,v=F(),V()
    if k==nil or v==nil then break end
    result[k]=v
end

for k,v in pairs(result) do print(k,v) end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-28
    • 2015-06-18
    • 2017-01-17
    • 2011-06-17
    • 2016-01-17
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多