我将从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 运行脚本出错(调用 f_b263a24560e4252cf018189a4c46c40ce7d1b21a):@user_script:1: user_script:1: 'ipairs' 的第 1 个参数应该是表格类型,但传入了字符串类型"
ARGV[1]
应该是什么值?它是如何获得它的值的?例如,它是一个包含逗号分隔的演员列表的字符串吗? - greatwolfeval
时,js数组会变成字符串。不拆开数组先传递它们作为单独的参数有什么原因吗? - greatwolf