Lua如何创建可用于变量跟进的自定义函数

时间:2015-01-31 02:47:47

标签: function lua

跟进我之前的问题(链接在这里: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()

作品?

1 个答案:

答案 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())