下面是我的lua脚本:
local ckid = redis.pcall('get',KEYS[1])
local meta = redis.call('hgetall', ckid)
return {ckid, meta}
Run Code Online (Sandbox Code Playgroud)
如果第一次调用时键没有退出,我不想执行第二次调用.
所以...我不知道返回值是什么.在python中,返回值为None.
if ckid ~= '???????' then
local meta = redis.call('hgetall', ckid)
else
local meta = 'empty'
retrun {ckid, meta}
Run Code Online (Sandbox Code Playgroud)
那么......我怎么做这个是lua?
local ckid = redis.pcall('get',KEYS[1])
if ckid ~= nil then
local meta = redis.call('hgetall', ckid)
else
local meta = 'none'
local ckid = 'none'
end
return {ckid, meta}
Run Code Online (Sandbox Code Playgroud)
当使用nil ..
ResponseError: ERR Error running script (call to f_1400713412b0063a26eb0dc063f53a4e3be26380): user_script:12: Script attempted to access unexisting global variable 'meta'
Run Code Online (Sandbox Code Playgroud)
Jan*_*e T 11
如果在if语句中定义Local变量,则它仅对if语句存在.查看手册中的局部变量范围.
尝试
local ckid = redis.pcall('get',KEYS[1])
local meta
if ckid ~= nil then
meta = redis.call('hgetall', ckid)
else
meta = 'none'
ckid = 'none'
end
return {ckid, meta}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8072 次 |
最近记录: |