欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

Lua笔记16 __tostring,lua16__tostring

来源: javaer 分享于  点击 4770 次 点评:270

Lua笔记16 __tostring,lua16__tostring


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)))


相关文章

    暂无相关文章

用户点评