gpt4 book ai didi

arrays - Redis Lua 脚本 - 如何将数组作为参数传递给 nodejs 中的 Lua 脚本?

转载 作者:IT王子 更新时间:2023-10-29 06:01:51 27 4
gpt4 key购买 nike

我正在从 nodejs 调用 Lua 脚本。我想传递一个数组作为参数。我在 Lua 中解析该数组时遇到问题。

下面是一个例子:

var script = 'local actorlist = ARGV[1] 
if #actorlist > 0 then
for i, k in ipairs(actorlist) do
redis.call("ZADD","key", 1, k)
end
end';

client.eval(
script, //lua source
0,
['keyv1','keyv2']
function(err, result) {
console.log(err+'------------'+result);
}
);

它给我这个错误:

"ERR Error running script (call to f_b263a24560e4252cf018189a4c46c40ce7d1b21a): @user_script:1: user_script:1: bad argument #1 to 'ipairs' (table expected, got string)

最佳答案

您只需使用 ARGV 即可:

local actorlist = ARGV

for i, k in ipairs(actorlist) do

并像这样在控制台中传递参数:

eval "_script_" 0 arg1 arg2 argN

关于arrays - Redis Lua 脚本 - 如何将数组作为参数传递给 nodejs 中的 Lua 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41548136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com