如何将获取Lua对象地址的操作描述成一个超长尾?

2026-04-01 20:051阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计323个文字,预计阅读时间需要2分钟。

如何将获取Lua对象地址的操作描述成一个超长尾?

当您在Lua中打印某些类型(例如函数和表)时,您将获得该类型的名称和地址。以下是一个示例:

tab={}print(tab)table: 0xaddress

如何将获取Lua对象地址的操作描述成一个超长尾?

我已经创建了一个简单的类,如下所示:

tab={}

我想让类类似地覆盖`__tostring`方法。如何实现?

当您在lua中打印某些类型(例如函数和表)时,您将获得类型的名称和地址,如下所示:

> tab = {} > print(tab) table: 0xaddress

我已经创建了一个简单的类,如下所示,我想类似地覆盖__tostring方法.如何获取要打印的对象的地址?

这是我的课.我想打印(对)打印出Pair:0xaddress.显然这是一个微不足道的例子,但这个概念很有用:

Pair = {} Pair.__index = Pair function Pair.create() local p = {} setmetatable(p, Pair) p.x = 0 p.y = 0 return p end function Pair:getx() return self.x end function Pair:gety() return self.y end function Pair:sety(iny) self.y=iny end function Pair:setx(inx) self.x=inx end 这是一个很好的方法:

Pair.__tostringx = function (p) Pair.__tostring = nil local s = "Pair " .. tostring(p) Pair.__tostring = Pair.__tostringx return s end Pair.__tostring = Pair.__tostringx > print(p) Pair table: 0x7fe469c1f900

你可以在Pair .__ tostringx中做更多的字符串操作来获得你想要的格式,例如删除“table”.

本文共计323个文字,预计阅读时间需要2分钟。

如何将获取Lua对象地址的操作描述成一个超长尾?

当您在Lua中打印某些类型(例如函数和表)时,您将获得该类型的名称和地址。以下是一个示例:

tab={}print(tab)table: 0xaddress

如何将获取Lua对象地址的操作描述成一个超长尾?

我已经创建了一个简单的类,如下所示:

tab={}

我想让类类似地覆盖`__tostring`方法。如何实现?

当您在lua中打印某些类型(例如函数和表)时,您将获得类型的名称和地址,如下所示:

> tab = {} > print(tab) table: 0xaddress

我已经创建了一个简单的类,如下所示,我想类似地覆盖__tostring方法.如何获取要打印的对象的地址?

这是我的课.我想打印(对)打印出Pair:0xaddress.显然这是一个微不足道的例子,但这个概念很有用:

Pair = {} Pair.__index = Pair function Pair.create() local p = {} setmetatable(p, Pair) p.x = 0 p.y = 0 return p end function Pair:getx() return self.x end function Pair:gety() return self.y end function Pair:sety(iny) self.y=iny end function Pair:setx(inx) self.x=inx end 这是一个很好的方法:

Pair.__tostringx = function (p) Pair.__tostring = nil local s = "Pair " .. tostring(p) Pair.__tostring = Pair.__tostringx return s end Pair.__tostring = Pair.__tostringx > print(p) Pair table: 0x7fe469c1f900

你可以在Pair .__ tostringx中做更多的字符串操作来获得你想要的格式,例如删除“table”.