[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Re: [ANN] Lua 5.4.0 (work1) now available
- From: Alex Silva <asandroq@...>
- Date: Wed, 14 Mar 2018 10:05:20 +0100
Hallo,
On 14/03/18 02:45, Coda Highland wrote:
> On Tue, Mar 13, 2018 at 7:47 PM, Tomás Guisasola
> <tomas@tecgraf.puc-rio.br> wrote:
>> Hi Roberto
>>
>>> No, this is not like JavaScript! 'undef' is NOT a value.
>>
>> But it is used as a value. It sounds strange to me...
>>
>>>
>>> t[i]=undef is a special syntax form that means "remove the key 'i'
>>> from table 't'".
>>
>> But it seems like an assignment. Wouldn't be better to create a special
>> syntax for removing a key from a table instead pretending it as an
>> assingment?
>>
>> You should have considered a pair of functions, such as table.undefine(t, i)
>> to undefine a key, and table.defined(t, i) to check whether the table has
>> the key. Why did you choose the assignment?
>>
>> Regards,
>> Tomás
>
> Functions are a bad idea, because this really is a language primitive.
>
I don't see how that follows.
I agree the assignment syntax is confusing, for the dubious benefit that
it *may* assign `nil` and thus remove the value from the table in older
versions of Lua.
Cheers,
--
-alex
http://unendli.ch/