传递给函数的字符串,作为表接收

时间:2011-12-27 23:31:30

标签: lua

在一个文件中,我有以下代码:

module( "command" )

local Commands = { }

function Add( cmd, funccallback )
  print(cmd)    
  Commands[ cmd ] = funccallback
end

Add("internal", function ( ) end )

在另一个我有以下内容:

command:Add("external", function( ) end )

这导致以下输出:

>internal
>table: a008247

为什么在第二种情况下将参数解释为表?

1 个答案:

答案 0 :(得分:4)

因为您使用:而不是.来调用它。当你打电话的时候这样:

command:Add(...)

这是语法糖:

command.Add(command, ...);

你可能意味着command.Add