我有一个使用以下格式的Redis命令:
red:msetnx(key1, val1, key2, val2, key3, val3, ...)
我希望将这个设置放在一个函数后面,该函数接受一个键/值对的表,并通过red:msetnx()
运行该表-- 我该如何重新格式化我的表格为交替的键/值逗号分隔参数列表,并将其传递给函数?
有可能存在一种更易读的方式来实现这个功能。
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]]}))
unpack
传递它:args = { 'key1', 'val1', 'key2', 'val2', 'key3', 'val3' }
red:msetnx(unpack(args))