【发布时间】:2014-04-16 00:00:19
【问题描述】:
我正在尝试在 Lua 中实现我自己的字符串长度方法。 我已经成功地覆盖了字符串的 len() 方法,但我不知道如何为 # 运算符执行此操作。
orig_len = string.len
function my_len(s)
print(s)
return orig_len(s)
end
string.len = my_len
abc = 'abc'
如果我打电话:
print(abc:len())
它输出:
abc
3
但是
print(#abc)
仅输出“3”,这意味着它称为原始长度函数而不是我的。有没有办法让#调用我的长度函数?
【问题讨论】:
标签: lua operator-overloading metatable meta-method