跟进我之前的问题(链接在这里:Lua How to create custom function that can be used on variables?),有没有办法创建同样的函数,除了表之外的其他东西?例如,
str = "stuff"
letter = str:foo() --Maybe have the foo function extract the first letter?
有没有办法创建一个与
相同的功能lowerCasestr = str:lower()
作品?
答案 0 :(得分:6)
所有字符串共享相同的元表,将自定义函数添加到其__index
表:
function first_letter(str)
return str:sub(1, 1)
end
local mt = getmetatable("")
mt.__index["first_letter"] = first_letter
local str = "stuff"
print(str:first_letter())