From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5736 invoked from network); 2 May 2001 22:58:18 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 2 May 2001 22:58:18 -0000 Received: (qmail 3183 invoked by alias); 2 May 2001 22:58:07 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 3850 Received: (qmail 3170 invoked from network); 2 May 2001 22:58:06 -0000 From: "Bart Schaefer" Message-Id: <010502155651.ZM16427@candle.brasslantern.com> Date: Wed, 2 May 2001 15:56:51 -0700 In-Reply-To: <87u2339yla.fsf@cenderis.demon.co.uk> Comments: In reply to Bruce Stephens "Re: do I win the "most pointless use of ZSH" award? ;)" (May 2, 11:26pm) References: <20010427213108.A28356@idiocy.org> <20010430124125.A2527@pianosa.catch22.org> <20010430210517.A4840@idiocy.org> <010430151553.ZM9588@candle.brasslantern.com> <87u2339yla.fsf@cenderis.demon.co.uk> X-Mailer: Z-Mail Lite (5.0.0 30July97) To: Bruce Stephens , zsh-users@sunsite.dk Subject: Re: do I win the "most pointless use of ZSH" award? ;) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On May 2, 11:26pm, Bruce Stephens wrote: > Subject: Re: do I win the "most pointless use of ZSH" award? ;) > "Bart Schaefer" writes: > > [...] > > > > for (( p=0.0, q=0.0, i=0 ; p*p+q*q < 4 && i < 32 ; i++));do > > I couldn't get this to work for a while. It turned out one of my > initialization scripts was setting i to an absolute pathname: Alan's code was intended to be run as a script, not as a shell function. To make a shell function of it, you should add: local lines columns colour a b p q i pnew at the top. > zsh% i=/foo; for ((i=0; i<10; i++)) echo $i > zsh: bad math expression: operand expected at `/foo' > > Is this a bug or a feature that I'm entirely missing? It's a feature. The value of any parameter that appears in math context is evaluated as an expression (up to a maximum recursion depth, I forget what just now). So i=foo/bar ((i)) is the same as ((foo/bar)) and so on for the values of `foo' and `bar'.