[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Project lead nominations for standard libraries?
- From: Marc Balmer <marc@...>
- Date: Sat, 1 Jan 2011 22:48:59 +0100
> On 1/1/11, David J. Slate <dslate@speakeasy.net> wrote:
>> When I first saw how the '#' operator applied to tables, it seemed a
>> bit of an anomaly. In a language as elegant as Lua, I expected a
>> single-character core operator like '#' to have a simple, general, and
>> intuitively predictable meaning when applied to the data types for
>> which it's relevant. As applied to strings it does, returning
>> unambiguously the length of the string. But applied to tables, it
>> produces a sensible result only for arrays or lists with integer
>> indices beginning with 1 and without "holes". Intuitively, I would
>> have expected a "length operator" as applied to an associative table
>> to produce a count of its keys, regardless of what kind of table it
>> was. There could of course be an appropriately-named function that
>> worked like '#' actually does.
>
> +1
>
> Yes, a count of keys would be reasonable, O(1), and if one had been
> careful with his tables, would accidentally coincide with #'s current
> semantics
>
+1