__call元方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__call元方法相关的知识,希望对你有一定的参考价值。

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

模型:

t = setmetatable({},{__call =

  function(table, newtable)

    --body

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

    return

  end

})

 

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

以上是关于__call元方法的主要内容,如果未能解决你的问题,请参考以下文章

使用元类理解 __call__ [重复]

Day 5-8 自定义元类控制类的实例化行为

自定义元类控制类的实例化行为

9.python 共享引用与单例

自定义元类 __call__,__init__,__new__总结

Lua学习