lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Wed, Jan 6, 2010 at 10:36 PM, Michael Roth <> wrote:
> Hello,
> I came across a small documentation or maybe implementation glitch:
> The documentation at states,
> that the #-operator will eventually call the __len metamethod with
>    h(op)
> But at least for userdata with a metatable and a __len metamethod, the call in
> reality is:
>    h(op, nil)
> I came across this issue because I employed an assert(lua_top(L)==1) in my
> code... Not a big issue... But maybe someone interested in?

This has been mentioned before. The same thing happens (more or less)
for an __unm metamethod. It's considered an "implementation detail"
(see although
I'm not sure that's equally applicable to __len.