lua functable and __call metamet

2018-06-15  本文已影响0人  尹超_060d
lua中,__call 关键字及用法
在代码中学习,先看代码
代码示例1
local dog = {}

dog() --当成函数调用,此时,编译器报错
代码示例2
local dog = {}
local mt = { __call = function()
  print('I am functable!')
end }

setmetatable(dog, mt)
dog() --输出 I am functable
当一个table被当作函数调用时,会找元表中的 __call 关键字对应的方法.
上一篇下一篇

猜你喜欢

热点阅读