如何通过方法名称调用lua方法

时间:2013-03-14 04:08:32

标签: lua

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

1 个答案:

答案 0 :(得分:2)

是的,这应该有效。作为Lua手册states,结肠符号只是语法糖:

  

表格

functioncall ::= prefixexp ‘:’ Name args
     

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