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」のみを出力します。これは、私の代わりに元の長さ関数を呼び出したことを意味します。# の長さ関数を呼び出す方法はありますか?