zsh-workers
 help / color / mirror / code / Atom feed
* Associative array sorting
@ 2024-01-19 19:18 Bart Schaefer
  2024-01-20  4:44 ` Eric Cook
  0 siblings, 1 reply; 3+ messages in thread
From: Bart Schaefer @ 2024-01-19 19:18 UTC (permalink / raw)
  To: Zsh hackers list

I was just looking at this in the manual --

a
     Sort in array index order; when combined with 'O' sort in reverse
     array index order.  Note that 'a' is therefore equivalent to the
     default but 'Oa' is useful for obtaining an array's elements in
     reverse order.

Like (o), (a) applies after the param is turned into an ordinary
array, so "equivalent to the default" kind of gets us off the hook,
but this would be the obvious place to attach sorting the associative
array by key rather than by raw hash traversal.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Associative array sorting
  2024-01-19 19:18 Associative array sorting Bart Schaefer
@ 2024-01-20  4:44 ` Eric Cook
  2024-01-20  5:13   ` Mark J. Reed
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Cook @ 2024-01-20  4:44 UTC (permalink / raw)
  To: zsh-workers

On 1/19/24 14:18, Bart Schaefer wrote:
> I was just looking at this in the manual --
>
> a
>       Sort in array index order; when combined with 'O' sort in reverse
>       array index order.  Note that 'a' is therefore equivalent to the
>       default but 'Oa' is useful for obtaining an array's elements in
>       reverse order.
>
> Like (o), (a) applies after the param is turned into an ordinary
> array, so "equivalent to the default" kind of gets us off the hook,
> but this would be the obvious place to attach sorting the associative
> array by key rather than by raw hash traversal.
>

Sounds like a good idea to me.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Associative array sorting
  2024-01-20  4:44 ` Eric Cook
@ 2024-01-20  5:13   ` Mark J. Reed
  0 siblings, 0 replies; 3+ messages in thread
From: Mark J. Reed @ 2024-01-20  5:13 UTC (permalink / raw)
  To: zsh-workers

[-- Attachment #1: Type: text/plain, Size: 1178 bytes --]

It sounds good, but *a* applies to indexes, not keys, and those aren't the
same thing. Mind, I think that it would be good if, at least for purposes
of expansion flags, indexes and keys *were* unified, so e.g. *k* on a
regular array would return an array of indexes, and *kv* would interleave
indexes with values (like Python enumerate), etc. But that's not the case
today.


On Fri, Jan 19, 2024 at 11:45 PM Eric Cook <llua@gmx.com> wrote:

> On 1/19/24 14:18, Bart Schaefer wrote:
> > I was just looking at this in the manual --
> >
> > a
> >       Sort in array index order; when combined with 'O' sort in reverse
> >       array index order.  Note that 'a' is therefore equivalent to the
> >       default but 'Oa' is useful for obtaining an array's elements in
> >       reverse order.
> >
> > Like (o), (a) applies after the param is turned into an ordinary
> > array, so "equivalent to the default" kind of gets us off the hook,
> > but this would be the obvious place to attach sorting the associative
> > array by key rather than by raw hash traversal.
> >
>
> Sounds like a good idea to me.
>
>

-- 
Mark J. Reed <markjreed@gmail.com>

[-- Attachment #2: Type: text/html, Size: 1797 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-01-20  5:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-19 19:18 Associative array sorting Bart Schaefer
2024-01-20  4:44 ` Eric Cook
2024-01-20  5:13   ` Mark J. Reed

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).