From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8837 invoked by alias); 30 Sep 2016 18:34:11 -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: X-Seq: 21995 Received: (qmail 20658 invoked from network); 30 Sep 2016 18:34:10 -0000 X-Qmail-Scanner-Diagnostics: from mail-pf0-f173.google.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(209.85.192.173):SA:0(0.0/5.0):. Processed in 0.126642 secs); 30 Sep 2016 18:34:10 -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=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: schaefer@brasslantern.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at brasslantern.com does not designate permitted sender hosts) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=KwwccUSpnD1H/lXPpgg1wrENgOwcMY9j6MjGOMnO+Wc=; b=mBFUuuVxwr1BJ72OkJ5pKJiMwTu4/H8/iAUUZIxI8Xz+BP6a1EMZwPXQTwXEnNWIR4 gpjR8WFS2PB1QQIvLYFUpTHG+NO4km3eHePWtGY+httSsIKKP0PhJe3IWLlYx4gXdUIW xsMaqZ9Bx4SbCA9z0CSEa1FfVvh4FslO2pSzqCaCFGTJnAC17f+yGV87vlAMRa26BlL7 /sajMgSQ707Qy2z9eDbBMEo9gangXS2+GsbyFGNLYWUW5E0a/zc5A3pD4IcJ31f8Cv0V G0s9Vy6mlJQu+IUZMET0xvdxuyv0gG+lDlcXbprB/JL378KdIWFqI9hv61j+w+jJnJEu vMRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version; bh=KwwccUSpnD1H/lXPpgg1wrENgOwcMY9j6MjGOMnO+Wc=; b=gCiLP8gc74Wi2b1qKSlTxTjwRNgMTNnl1MjUhF71xaxDL9v6ucMntts0hWMasjDDxt MPbV8LAj2yz5u1dExVTqlXcUwjdGb+Ul0yAcLnkvtCddejkEmKVUGTLu9+UsnZmkf8t3 iCO4618zV+Ewori+vlVKvTnPFzfbOSXJ8zLJqBV4OrGs6ecULRIX1pmMz+jMndrKvWao EWDhaN05FM1Oh2W+OQ3zmQb5SPVbdovApnoMpBk145o2SQbtKKcZ/E8jVue/99pp0G+j qR3I/W5skcYkfVtCORZgO0GvT10G/MRQawMFohWPXSh5k4DgqgH0m5D4hO+H8HAE67hH eHrw== X-Gm-Message-State: AA6/9RmnvTCQJbCkYui7/OSgAaIHAmX9PSrgOPyl79e269EJuk0alUlrG8GHMFoRE9RLUg== X-Received: by 10.98.198.70 with SMTP id m67mr13941762pfg.34.1475259956224; Fri, 30 Sep 2016 11:25:56 -0700 (PDT) From: Bart Schaefer Message-Id: <160930112615.ZM16681@torch.brasslantern.com> Date: Fri, 30 Sep 2016 11:26:15 -0700 In-Reply-To: <20160930074509.GA2554@fujitsu.shahaf.local2> Comments: In reply to Daniel Shahaf "Re: Passing array to function" (Sep 30, 7:45am) References: <1A643BF6-28C9-483E-9312-D8C856D41F0D__26800.772539764$1475219850$gmane$org@gmail.com> <20160930074509.GA2554@fujitsu.shahaf.local2> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-users@zsh.org Subject: Re: Passing array to function MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Sep 30, 7:45am, Daniel Shahaf wrote: } Subject: Re: Passing array to function } } Ignatius Reilly wrote on Fri, Sep 30, 2016 at 02:15:55 -0500: } > addtoarray() { [[ -d $1 ]] && myarray=($1 $myarray) } } > } > addtoarray /usr/foo myarray } } addtoarray() { } [[ -d $1 ]] && eval "${(q)2}[1,0]=${(q)1}" } } Solution without eval: addtoarray() { [[ -d $1 ]] && set -A $2 $1 ${(P)2} } Various quoting may be necessary if you using an emulation mode or other nonstandard setopts, but from your original example it does not appear so. ${(P)2} means to treat the value of $2 as a name and expand that named parameter.