From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id c4de3854 for ; Tue, 23 Jul 2019 08:04:31 +0000 (UTC) Received: (qmail 5840 invoked by alias); 23 Jul 2019 08:04:25 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 24090 Received: (qmail 1773 invoked by uid 1010); 23 Jul 2019 08:04:25 -0000 X-Qmail-Scanner-Diagnostics: from mail-ua1-f41.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.2/25517. spamassassin: 3.4.2. Clear:RC:0(209.85.222.41):SA:0(-2.0/5.0):. Processed in 3.20776 secs); 23 Jul 2019 08:04:25 -0000 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.222.41 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=QzGLqxrTDAG3p3tuSjlzBCJ+KdLWIBM1/a5/ofSJpZw=; b=HGWSbX30+ZCrUhvtYBRpiWYVQt6/gHDh2F8nbgn6lZbd2ca6j8Hq1QsrSMHmjPp9EU WIjiK/Ek1JDKDekWZXRpfAsRSVHKCR5rIC50SaZwXCsSs61PW0o7QC+yfkZPDirVRsgT 73XX+4QR3zxPil/4idIqUnFQpuSM+pH1aAgO7NcQzL7T5dKSqZ0llQmNa6bWRZG9rlpq UWXi5KWYl0ZhRpmDsW5MAhasraNWXZxg8tWpayRLOsaiaUz9h5X7+10+xI1i3631DSik USBRanQTgzzXiH5BX9yWGrEtt2QMHMkZc25zeQlZbcn+V862veQEuGHM2H7dA1Sr90au wW3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QzGLqxrTDAG3p3tuSjlzBCJ+KdLWIBM1/a5/ofSJpZw=; b=M0nswH4YhVgkOTS2UbETjHZo787kMGPtsIOzZ3u7RpjlVGQVQucPv8IYwkzXpWULfw n6Aa1iXrEdmu/D/NVSkI2TcYJV9k7fETVWxnntsHCeYZMN1KEjapcQNl7G09JGxErrqz rGGAYTtFS/u7Dhq6EtAaapkOThrJqRw2YQWPfTtCNymne94qTzROlX7PMm5CQl/5Fp4S zDtkOylFKq0bfQnSr52Ha47Fsuqcjt7HWapPrwxbnOytrvysq9DJP+yhdnpfdw1+tjzl aYgPA3EZYYHougN6M0neRC9qvxufGjLapDW0QxH0eodNewjq0A6O7sm4HBew63K1Nbgp yWlA== X-Gm-Message-State: APjAAAUFSNmAsCKh+SwXJyavPXZBAzoPxG9zuTNdB5pw9VERvvHzMtHZ gFf0urVNLJNKEkJQ+d4klkEbhk3kUEM/M0KRm78= X-Google-Smtp-Source: APXvYqwn0U50gOKcGRFVeLsaQWV0YNCsbZJ1mkCU7Qt++cBV8oDAPE+VsOPVE/IJ0yM2r7rkwL86q72NppwvjXxoYV8= X-Received: by 2002:ab0:2650:: with SMTP id q16mr6869500uao.7.1563869028961; Tue, 23 Jul 2019 01:03:48 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sebastian Gniazdowski Date: Tue, 23 Jul 2019 10:03:37 +0200 Message-ID: Subject: Re: Filtering array on index To: =?UTF-8?Q?Jesper_Nyg=C3=A5rds?= Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" On Tue, 23 Jul 2019 at 09:42, Sebastian Gniazdowski wrote: > I wonder what's going on? The code looks OK. Maybe it's a bug? So it seems that the ++idx within the ::=-treated array brackets is executed twice. This might get considered a bug, but there's a chance that this is how the code is arranged. After moving ++idx outside, the code works: % a=(-v filter1 -v filter2 ) % idx=0; olen=$#a+1; : ${a[@]/(#m)*/$((++idx))${a[idx]::=${a[idx % 2 ? olen : idx]}}} % print $a filter1 filter2 Of course the empty elements are still there so an empty-element eradicating use like above is needed. -- Sebastian Gniazdowski News: https://twitter.com/ZdharmaI IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin Blog: http://zdharma.org