zsh-users
 help / color / mirror / code / Atom feed
From: Peter Stephenson <p.stephenson@samsung.com>
To: zsh-users@zsh.org
Subject: Re: Mapping split ${(s::)...} across an array
Date: Thu, 03 Dec 2015 16:18:08 +0000	[thread overview]
Message-ID: <20151203161808.574b2486@pwslap01u.europe.root.pri> (raw)
In-Reply-To: <151203080008.ZM11091@torch.brasslantern.com>

On Thu, 03 Dec 2015 08:00:08 -0800
Bart Schaefer <schaefer@brasslantern.com> wrote:
> I recently had a situation where I wanted to create a new array by splitting
> every element of an existing array.  The only solution I came up with was
> to first join the original array into a string using the same character I
> wanted to use to split the individual elements.
> 
> Is there another way?  :s// and similar replacements are mapped across an
> array by definition, but that doesn't help (does it?).

I think the normal split logic currently always implies joining first
and always has done, though I don't remember the original rationale.
I guess we could add a "_" flag to change this.  (I was wondering if we
could do the parsing of that -- currently unused --- in a slightly more
flexible manner, but I've forgotten quite what I was thinking...)

(z) doesn't, but you are constrained to use normal word splitting, and I
think this is at the level below IFS is relevant.  But if you can
arrange to use space as the character, and arrage to quote it
elsewhere (you have quoting problems with any split character) that
might be a possibility.  There are other possible hacks if you can use
white space.

pws


      reply	other threads:[~2015-12-03 16:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-03 16:00 Bart Schaefer
2015-12-03 16:18 ` Peter Stephenson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151203161808.574b2486@pwslap01u.europe.root.pri \
    --to=p.stephenson@samsung.com \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).