标签:
--元表和元方法给lua里的值设定一些操作,让我们可以对这些操作自定义 --创建一个新的table变量时,它是不存在元表的 --在Lua中,只能设置table的元表,其他类型的值的元表,只能通过C代码来完成 local mt={} mt.__add=function(t1,t2)print("i am result")end local t1={} local t2={} setmetatable(t1,mt) setmetatable(t2,mt) local result=t1+t2
a={numerator=2,denominator=3}
b={numerator=4,denominator=7}
op={}--metatable
function op.__add(f1,f2)
ret={}
ret.numerator=f1.numerator*f2.denominator+f1.denominator*f2.numerator
ret.denominator=f1.denominator*f2.denominator
return ret
end
setmetatable(a,op)
setmetatable(b,op)
s=a+b
print(s.numerator,s.denominator)--26,21
标签:
原文地址:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/4453676.html