1

有一个对象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
4

1 回答 1

2

是的,这应该有效。正如 Lua 手册所述,冒号符号只是语法糖:

表格

functioncall ::= prefixexp ‘:’ Name args

可以用来调用“方法”。调用 v:name(args) 是 v.name(v,args) 的语法糖,除了 v 只计算一次。

于 2013-03-14T05:39:51.930 回答