[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua 5.3.0-rc3 - Possible imprecision in the manual.
- From: Lorenzo Donati <lorenzodonatibz@...>
- Date: Sun, 04 Jan 2015 16:00:35 +0100
On 04/01/2015 11:43, Dirk Laurie wrote:
> 2015-01-04 12:21 GMT+02:00 Lorenzo Donati <lorenzodonatibz@tiscali.it>:
>
>> A detailed list of events controlled by metatables is given next. Each
>> operation is identified by its corresponding **event name**. The **key
>> for each event** is a string with **its name prefixed by two
>> underscores, '__'**; for instance, the key for operation "add" is the
>> string "__add". Note that queries for metamethods are always raw; the
>> access to a metamethod does not invoke other metamethods. You can
>> emulate how Lua queries a metamethod for an object obj with the
>> following code:
>>
>> rawget(getmetatable(obj) or {}, event_name)
>>
>> in this latter Lua code line the 2nd argument apparently refers to the
>> /name/ of the event, but it should refer to the associated /key/.
>> It could seem nitpicking, but the cited paragraph is very precise and
>> seem to stress the difference quite a bit. Therefore that 2nd argument
>> could confound the newbie reader, especially if he has paid due
>> attention to the previous lines.
>
> Anyone trying to query or redefine metamethods is by definition
> not a newbie :-)
>
Well, ok, fair enough. :-)
I really meant "newbie" as "someone who has never used previous versions
of Lua" (sunday-time hasty abbreviations :-)
> The way I read the passage in the original, unhighlighted version
> is that e.g. "add" is the name of the metamethod, as used in the
> immediately following description list, and "__add" is its event name,
> which is also the key used for indexing in the metatable. I do not
> find that confusing.
>
> But trying to understand why a third term is introduced when two
> are enough would be confusing to me.
>
>
--
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments