您的位置:首页 > 编程语言 > Lua

Lua笔记16 __tostring

2016-03-24 22:22 453 查看
mt={}  --定义元表  ,注意:元表一般定义在table的一个函数中,然后将这个函数复制为另一个table,做为元表

function mt.__tostring(tb)  --定义__tostring 方法函数,返回的是一个字符串
local l={}                    -- l 用来保存 集合中所有元素的table
for k,v in pairs(tb) do
l[#l+1]=v
end
return "{" .. table.concat(l,",") .. "}"     --返回是一个string 类型

end

function mt.__print(s)                  --调用print 来打印这个string
print(mt.__tostring(s))
end

tbA={"a","b","c","d"}

setmetatable(tbA,mt)     --[[返回的是一个table类型的变量]]

print(tbA)

print(type(mt.__tostring(tbA)))

print(type(setmetatable(tbA,mt)))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: