zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: Ray Andrews <rayandrews@eastlink.ca>
Cc: zsh-users@zsh.org
Subject: Re: unexpected unmodified variable
Date: Thu, 6 Oct 2022 17:36:07 -0700	[thread overview]
Message-ID: <CAH+w=7ZcbFEKwuKa4Axvh=LRstSoSLab0SWvvitpEGrMwp5Lag@mail.gmail.com> (raw)
In-Reply-To: <8b1497ca-5d26-3e23-47c7-1c85b7c4fa73@eastlink.ca>

On Thu, Oct 6, 2022 at 2:59 PM Ray Andrews <rayandrews@eastlink.ca> wrote
>
> On 2022-10-06 12:28, Peter Stephenson wrote:
>
> > Returning stuff in a sane way is a real weakness in shells.

Shrug; shells were originally designed to facilitate text processing
by small independent single-purpose applications.  Everything else is
a bolt-on.

> I ended up sending the output to a bleeding file and
> then rereading that.  There otta be a better way.

if you're only dealing with numbers, then the bolted-on math-function
capability can do "real" return values with locally-visible
side-effects.

func2 ()
{
(( count=2 ))  # math op defines return value
echo set by func2: $count
}
func1 ()
{
local count=1
func2
echo got from func2: $count
count=1
var=$(( func2() ))  # note parens
echo seen from func1: $count
echo var is: $var  # now integer not text
}
functions -M func2


  reply	other threads:[~2022-10-07  0:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-06 19:07 Ray Andrews
2022-10-06 19:28 ` Peter Stephenson
2022-10-06 21:58   ` Ray Andrews
2022-10-07  0:36     ` Bart Schaefer [this message]
2022-10-07  1:37       ` Ray Andrews
2022-10-07  4:36         ` Bart Schaefer
2022-10-07 15:28           ` Ray Andrews
2022-10-07 20:00             ` Bart Schaefer
2022-10-07 21:59               ` Ray Andrews

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='CAH+w=7ZcbFEKwuKa4Axvh=LRstSoSLab0SWvvitpEGrMwp5Lag@mail.gmail.com' \
    --to=schaefer@brasslantern.com \
    --cc=rayandrews@eastlink.ca \
    --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).