Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   and in ternary operator (http://www.velocityreviews.com/forums/t857880-and-in-ternary-operator.html)

 Parv G. 06-04-2009 07:13 PM

and in ternary operator

hi,

i would like to do something like the following

if true
do_a
else
d_a
d_b
end

Can this be done using ternary operator?

This seem to give different result:
ifTrue ? do_a : do_a and do_b

Thank you.
--
Posted via http://www.ruby-forum.com/.

 Joel VanderWerf 06-04-2009 07:20 PM

Re: and in ternary operator

Parv G. wrote:
> hi,
>
> i would like to do something like the following
>
> if true
> do_a
> else
> d_a
> d_b
> end
>
> Can this be done using ternary operator?
>
> This seem to give different result:
> ifTrue ? do_a : do_a and do_b
>
> Thank you.

result = false ? nil : (x=1; x+=10; x)
p result # ==> 11

--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407

 Pieter V. 06-04-2009 07:23 PM

Re: and in ternary operator

On Thu, Jun 4, 2009 at 12:13 PM, Parv G. <ghotrapa@yahoo.com> wrote:
> hi,
>
> i would like to do something like the following
>
> if true
> =C2=A0do_a
> else
> =C2=A0d_a
> =C2=A0d_b
> end
>
> Can this be done using ternary operator?
>
> This seem to give different result:
> ifTrue ? do_a : do_a and do_b

If the goal is to always run the truthy condition and optionally some
extra code for the falsey one, this will work as well:

do_a ; do_b if ifTrue

>
> Thank you.
> --
> Posted via http://www.ruby-forum.com/.
>
>

 Rolando Abarca 06-04-2009 07:30 PM

Re: and in ternary operator

On Jun 4, 2009, at 3:13 PM, Parv G. wrote:

> hi,
>
> i would like to do something like the following
>
> if true
> do_a
> else
> d_a
> d_b
> end
>
> Can this be done using ternary operator?
>
> This seem to give different result:
> ifTrue ? do_a : do_a and do_b

since you always "do_a", why no execute it always?

do_a
do_b if true

>

regards,
--
Rolando Abarca M.

 Brian Candler 06-04-2009 08:54 PM

Re: and in ternary operator

Parv G. wrote:
> hi,
>
> i would like to do something like the following
>
> if true
> do_a
> else
> d_a
> d_b
> end
>
> Can this be done using ternary operator?
>
> This seem to give different result:
> ifTrue ? do_a : do_a and do_b

'and' is very low precendence operator, and also will only do_b if the
result of do_a is true.

ifTrue ? do_a : (do_a, do_b)
--
Posted via http://www.ruby-forum.com/.

Re: and in ternary operator

Hi,

At Fri, 5 Jun 2009 05:54:48 +0900,
Brian Candler wrote in [ruby-talk:338415]:
> ifTrue ? do_a : (do_a, do_b)

You need a semicolon instead of a comma.

--

 Brian Candler 06-05-2009 12:23 PM

Re: and in ternary operator

> Brian Candler wrote in [ruby-talk:338415]:
>> ifTrue ? do_a : (do_a, do_b)

>
> You need a semicolon instead of a comma.

Sorry, that's me with my C head on :-)
--
Posted via http://www.ruby-forum.com/.

 All times are GMT. The time now is 05:59 AM.