lua-users home
lua-l archive

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

* On 2008-04-15 Matias Guijarro <> wrote  :

> Hello :-)
> Sorry if the question has already been asked, but I could not
> find any answer on the list so here it is :
> Is there a way to detect if a function in a table should be called
> as a "method" (OO style), e.g foo:bar() or if it has to be called
> as a function - ?
> Consider a XML-RPC server in Lua : exported functions and
> "objects" in the global environment are available for clients. If
> a client makes a request like this : "", the server needs
> to know how to execute the request.
> Is there some debug library magic to be able to have a hint ?
> I wonder, because for example if we know that the first
> argument of function "bar" is "self", it probably indicates
> that it should be called with ":" ... Well, even that is not a
> good solution :-(

A pragmatic solution: depending on the way you implemented your OO-style
objects, you could verify if the first argument is a table, and if it
holds a magic item that you put in there when the object was created.