__call元方法

__call元方法可以使定义了他的表可以像函数一样使用,可以被调用,参数是另外一个表,当然这只是一个形式,调用的具体行为是自己定义的,就像重载操作符一样

模型:

t = setmetatable({},{__call =

  function(table, newtable)

    --body

    --这里定义调用自己的具体行为与结果,结果必须return出来

    return

  end

})

 

使用方法:local value = t(othertable) --就像函数一样使用,参数是另外一个表

posted @ 2017-09-14 23:25  小张学代码  阅读(584)  评论(0编辑  收藏  举报