继续我之前的问题(链接在这里:Lua如何创建可用于变量的自定义函数?),有没有办法创建相同类型的函数,除了表之外的其他东西?例如,
str = "stuff"
letter = str:foo() --Maybe have the foo function extract the first letter?
Run Code Online (Sandbox Code Playgroud)
有没有办法创建一个以相同的方式工作的函数
lowerCasestr = str:lower()
Run Code Online (Sandbox Code Playgroud)
作品?
所有字符串共享相同的元表,将自定义函数添加到其__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())
Run Code Online (Sandbox Code Playgroud)