lua-users home
lua-l archive

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


Hi Charles,

On 22 October 2017 at 01:14, Charles Heywood <vandor2012@gmail.com> wrote:
>> Tracebacks (and the debug API) show the name of the variable that
> referenced the function.
>
> It depends. With Lua 5.3, I tried to set `string.gsub` to a value `x` and
> test some things with it. Invalid argument and other errors gave an
> error with the function `x`, but the traceback showed it was an error
> with the function `string.gsub`. So, the function does have a name
> associated with it, but it does also include the name used when
> referencing that function. The traceback - at least with Lua 5.3.1 -
> will show that the error happens when the value with the associated
> name is called, but it shows that the error is in the function with the
> original name.
>

Even so the function itself has no name, Lua is simply telling you the
name of the variable. In fact in this case, the real function is a C
function named 'str_gsub'.

It is a very good illusion of course.

Regards
Dibyendu