[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Implement rehashing for associative arrays (Re: speeding up
From: |
Chet Ramey |
Subject: |
Re: [PATCH] Implement rehashing for associative arrays (Re: speeding up hash_search?) |
Date: |
Mon, 4 May 2020 16:16:06 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 |
On 4/20/20 5:50 PM, Greg Wooledge wrote:
> On Mon, Apr 20, 2020 at 05:12:28PM -0400, George Jones wrote:
>> No real opinion on syntax.
>>
>> Using something existing:
>>
>> declare -A foo[SIZE]
>>
>> seems sensible, especially if there was no semantic meaning (I'm not a fan
>> of syntax without semantics .... clutter).
>
> That's pretty C-like, and I don't have any strong dislike of it, but I
> feel I should point out that users will need to quote the final argument
> if it contains square brackets, just like with unset 'a[i]'.
If the code to skip over it didn't already exist, I wouldn't consider it.
> Another choice would be a more shell-like syntax:
>
> declare -s size -A foo=(...)
That's definitely more consistent with the rest of declare's options.
> I'm curious whether the size has to be specified up front when the array
> is declared, or can be adjusted on the fly.
It could be adjusted on the fly, I suppose, but there would never really
be a reason to do it unless the size were being reduced. Otherwise, it's
ok to just let the array grow automatically.
> The shell-like syntax feels
> more natural if the size is being adjusted, since you can write
>
> declare -s new_size foo
>
> without needing to specify the -A again. But it's not a huge difference.
This is a good point.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/