Lua 字符串追加

Lua String Append

所以我创建了一个所有字符串都可以使用的函数,它叫做 append。

local strmt = getmetatable("")
function strmt.__index.append(self, str)
  self = self..str
  return self
end

函数是这样使用的:

self = self:append("stuff")

有没有办法创建一个函数来执行此操作:

local stuff = "hi "
stuff:append("bye")
print(stuff)

并产生

hi bye

没有。 Lua 中的字符串是不可变的;如果您将 stuff 设置为 "hi ",它将等于 "hi ",直到您将其设置为其他值。 "hi " 永远不会变成 "hi bye",就像 3 永远不会变成 4