我有一个使用格式的redis命令:
red:msetnx(key1, val1, key2, val2, key3, val3, ...)
我想在一个函数后面设置它,它接受一个键/值对的表并通过red:msetnx()
运行 - 我如何将表格重新格式化为交替的键/值逗号分隔的参数列表和把它传递给函数?
答案 0 :(得分:2)
可能有一种更易读的方法。
function foo (t)
local f = {}
for k,v in pairs(t) do
table.insert(f, k)
table.insert(f, v)
end
return table.unpack(f) -- depends on lua version table.unpack() or unpack()
end
red:msetnx(foo({key1="val1", key2="val2" --[[and so on]]}))
答案 1 :(得分:2)
按顺序创建一个包含键和值的表,并使用unpack
传递它:
args = { 'key1', 'val1', 'key2', 'val2', 'key3', 'val3' }
red:msetnx(unpack(args))