约 801 字

约 4 分钟

#Lua 的 tostring 函数

tostring (v)

说明

将参数 v 转换为字符串。

  • 如果 v 的元表包含索引为 __tostring 的元方法,则以 v 为参数调用该函数
  • 否则,如果 v 的元表包含索引为 __name 的字符串,则返回该字符串和对象的 ID

参数

  • v - 要转换为字符串的内容

返回值

  • 转换为字符串后的值

#示例

local t = { value = 10 }

-- 定义元表,包含 __tostring
local metatable = {
    __tostring = function(v) return string.format('%q', v.value) end
}

-- 设置元表
setmetatable(t, metatable)

-- 转换
print(tostring(t))

-- 定义元表,包含 __name
metatable = {
    __name = "Custom Object"
}

-- 设置元表
setmetatable(t, metatable)

-- 转换
print(tostring(t))

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#推荐阅读

tostring - Lua 5.4 Reference Manual

更新: 2026/2/6

作者: PlanC

创建: 2025/10/30