有一个对象client
有很多方法,方法可以调用client:hget(key, field)
或client:exists(key)
等。
现在,我需要实现一个函数client_holder.call(cmd, ...)
local client = client_instance;
function call(cmd, ...)
client[cmd](client, ...) // will this work??
end
答案 0 :(得分:2)
是的,这应该有效。作为Lua手册states,结肠符号只是语法糖:
表格
functioncall ::= prefixexp ‘:’ Name args
可用于调用“方法”。调用v:name(args)是v.name(v,args)的语法糖,除了v只计算一次。