From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 176 invoked by alias); 27 Mar 2017 08:47:09 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 40906 Received: (qmail 27045 invoked from network); 27 Mar 2017 08:47:09 -0000 X-Qmail-Scanner-Diagnostics: from mailout1.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.11):SA:0(-5.0/5.0):. Processed in 1.103277 secs); 27 Mar 2017 08:47:09 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7ef-f796a6d00000373c-1f-58d8cf291366 Date: Mon, 27 Mar 2017 09:36:55 +0100 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: get keys of an associative array? Message-id: <20170327093655.5186c8c3@pwslap01u.europe.root.pri> In-reply-to: <20170326220628.GB13200@trex.cs.ovgu.de> Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrNIsWRmVeSWpSXmKPExsWy7djPc7qa529EGDydZ2FxsPkhkwOjx6qD H5gCGKO4bFJSczLLUov07RK4Mp48eMBe8JK74vGC2WwNjHs5uxg5OSQETCQWPP3BCGGLSVy4 t56ti5GLQ0hgGaPE2XuXGCGcXiaJJZ+XMcN03Lp5lx3EBqtq2qgNUTSNSeJ9/2wWCOcMo8T/ +TsYIarOMkrMPpsOYrMIqEq0nb7OCmKzCRhKTN00G6xGREBc4uza8ywgtrCAnsTJZ6vANvAK 2Eu8WbiCDcTmFDCVeN/zH+wKfgF9iat/PzFBXGQvMfPKGUaIekGJH5Pvgc1hFtCR2LbtMTuE LS+xec1bZpDjJAT+s0l0LZ8OdAQHkCMrsekA1GcuEn8ezmOFsIUlXh3fwg5hy0h0dhyE2tXP KPGk2xdizgxGidNndrBBJKwl+m5fZIRYxicxadt0Zoj5vBIdbUIQJR4SrxasYYEIO0pM/hwz gVFxFpKrZyG5ehaSqxcwMq9iFEktLc5NTy021CtOzC0uzUvXS87P3cQITAKn/x1/v4PxaXPI IUYBDkYlHl4ByRsRQqyJZcWVuYcYJTiYlUR4p5wCCvGmJFZWpRblxxeV5qQWH2KU5mBREufl PXUtQkggPbEkNTs1tSC1CCbLxMEp1cCoHX74N9/p+VnR3xm0xXx6Pkk9ClA5av0/8WWvdmPN hAmexpn2JRs4dyz35ipquGe+VMtt1QnjLbZXJmjMSNRQWPp5UbzQPVlX/7TKt2uziv/ZGzBM aXZL2Pvjo6ZTls7cBU4N2V1/7zBM44hPFrh3eOrVA8sOssXemrR7betswYbfLNuCj2cqsRRn JBpqMRcVJwIAHWcHDv4CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrOIsWRmVeSWpSXmKPExsVy+t/xa7rTzt+IMPi9g9HiYPNDJgdGj1UH PzAFMEa52WSkJqakFimk5iXnp2TmpdsqhYa46VooKeQl5qbaKkXo+oYEKSmUJeaUAnlGBmjA wTnAPVhJ3y7BLePJgwfsBS+5Kx4vmM3WwLiXs4uRk0NCwETi1s277BC2mMSFe+vZuhi5OIQE ljBK7L55HMqZwSTRc+EYK4RzjlHi5ea1UJmzjBLPPv9nA+lnEVCVaDt9nRXEZhMwlJi6aTYj iC0iIC5xdu15FhBbWEBP4uSzVWD7eAXsJd4sXAHWyylgKvG+5z8zxNDFTBI7Ti4DG8QvoC9x 9e8nJogD7SVmXjnDCNEsKPFj8j2wocwCWhKbtzWxQtjyEpvXvGUGsYUE1CVu3N3NPoFReBaS lllIWmYhaVnAyLyKUSS1tDg3PbfYUK84Mbe4NC9dLzk/dxMjMJK2Hfu5eQfjpY3BhxgFOBiV eHh3iN2IEGJNLCuuzD3EKMHBrCTCO+UUUIg3JbGyKrUoP76oNCe1+BCjKTBkJjJLiSbnA6M8 ryTe0MTQ3NLQyNjCwtzISEmct+TDlXAhgfTEktTs1NSC1CKYPiYOTqkGxvnGhSxv83NPBS6N Z1LSbWfp3yr+9kL98ZV9kdb2P3stbO4lLppi/e3Hv/Cc53Wm/+XXcXStuyVZ6fnkyIFjL6Lz ylSStKUf/XxlUfL4wKUCs91nphTItJ5zfnjHckmn1fctoSKVOVOv/p84m/li7TW/whep4jN1 naRZ7l3VFAo9dOqZ2cFzkkosxRmJhlrMRcWJAEOSRjy6AgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170327083654eucas1p2f1d97ad3a74d5cc343f78e5194030244 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUb?= =?UTF-8?B?7IK87ISx7KCE7J6QG1ByaW5jaXBhbCBFbmdpbmVlciwgU29mdHdhcmU=?= X-Global-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUbU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtQcmluY2lwYWwgRW5naW5lZXIsIFNvZnR3YXJl?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDA1Q0QwNTAwNTg=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170326220656epcas3p3130177a90e5abf9d3832710b5516a87c X-RootMTR: 20170326220656epcas3p3130177a90e5abf9d3832710b5516a87c References: <20170326191828.GA13089@trex.cs.ovgu.de> <20170326203446.45f5883e@ntlworld.com> <20170326220628.GB13200@trex.cs.ovgu.de> On Mon, 27 Mar 2017 00:06:28 +0200 Jens Elkner wrote: > On Sun, Mar 26, 2017 at 01:03:31PM -0700, Bart Schaefer wrote: > > On Mar 26, 2017 12:41 PM, "Peter Stephenson" > > wrote: > > > > You need "${(k)A[@]}" in ksh mode, but I'm not sure why the (@) flag > > doesn't do the trick. > > > > The @ flag only makes things that are already arrays remain arrays in > > contexts where they would otherwise be joined. In ksharrays context, ${A} > > is a scalar. > > You mean man page section for the k flag needs enhancements? At least A > is explictly declared as an associative array, so I would expect, that > "${(k)A}" should work as well ... I'm not sure how general an update this ought to be... pws diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo index e049aa5..dc6c494 100644 --- a/Doc/Zsh/expn.yo +++ b/Doc/Zsh/expn.yo @@ -1049,7 +1049,9 @@ If var(name) refers to an associative array, substitute the em(keys) (element names) rather than the values of the elements. Used with subscripts (including ordinary arrays), force indices or keys to be substituted even if the subscript form refers to values. However, -this flag may not be combined with subscript ranges. +this flag may not be combined with subscript ranges. With the +tt(KSH_ARRAYS) option a subscript `tt([*)' or `tt([@])' is needed +to operate on the whole array, as usual. ) item(tt(L))( Convert all letters in the result to lower case.