版权声明:本文为博主原创文章,未经博主允许不得转载。
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> function f(tb,x,y) return x+y+tb.n end
> b={}
> b.__call = f
> a = {}
> a.n=100
> setmetatable(a,b)
> print(a(1,2))
103
>
Lua5.1元方法__call示例
本文介绍Lua5.1中元方法__call的使用方式,通过设置表的元表并定义__call元方法,实现对表的调用行为自定义。示例展示了如何创建一个可以被当作函数调用的表。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> function f(tb,x,y) return x+y+tb.n end
> b={}
> b.__call = f
> a = {}
> a.n=100
> setmetatable(a,b)
> print(a(1,2))
103
>
426
6478
1492

被折叠的 条评论
为什么被折叠?