From: Austin Ziegler Date: 2005-06-02T06:47:44+09:00 Subject: Re: ternary operator confusion On 6/1/05, Eric Mahurin wrote: > --- "Marcel Molina Jr." wrote: >> On Thu, Jun 02, 2005 at 01:40:23AM +0900, Phrogz wrote: >>> true ? a.push(1) : a.push(2) >> i suspect this could have been just a contrived example but you >> could also do: >> >> a.push true ? 1 : 2 > I wish Ruby didn't make the () optional when passing args > (probably from Perl which wanted to be like shells/tcl/lisp where > command/function and arguments are space separated). > > When you don't put the () in, the precendence can get confusing > and you arbitrarily prevent the first arg to start with a "(" > (otherwise it will treat that "(" as what starts the argument > list). > > Why do people feel the need to drop the ()? I didn't like it in > Perl and I don't like it in Ruby. Do people just want something > that is kind of like shell syntax? I use it in PDF::Writer because it makes certain parts feel more like a DSL (domain specific language) than a program. When I release this (later this week, I *hope*), it'll be visible in the quickref code. -austin -- Austin Ziegler * halostatue@gmail.com * Alternate: austin@halostatue.ca