gpt4 book ai didi

lua - 是否可以像在 Lua 中 rawget/set 绕过 __index/__newindex 那样绕过 __tostring?

转载 作者:行者123 更新时间:2023-12-01 01:52:28 25 4
gpt4 key购买 nike

例如:

local my_table = { name = "my table" }
local my_table_mt = {}

function my_table_mt.__tostring(tbl)
return "%s<%s>":format(tbl.name or "?", rawtostring(tbl))
end

这样的事情可能吗?我知道 rawtostring 方法不存在,但是有没有办法模拟这种行为,或者完全绕过它?

最佳答案

只有这个kludge:

function rawtostring(t)
local m=getmetatable(t)
local f=m.__tostring
m.__tostring=nil
local s=tostring(t)
m.__tostring=f
return s
end

关于lua - 是否可以像在 Lua 中 rawget/set 绕过 __index/__newindex 那样绕过 __tostring?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43285679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com