Lua字符串追加

5

所以我创建了一个函数,所有字符串都可以使用它,它被称为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

顺便说一句,我觉得你的第一个函数不需要操纵元表。这样就足够了:function string:append(s) return self .. s end - tonypdmtr
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接