# Ruby conditional operator ? :

**URL:** <https://www.ruby-forum.com/t/ruby-conditional-operator/93152>\
**Category:** Ruby\
**Created:** [April 28, 2007, 10:51am UTC](https://www.ruby-forum.com/t/ruby-conditional-operator/93152 "2007-04-28T10:51:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![yaxm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/54ee81/32.png) [@yaxm](https://www.ruby-forum.com/u/yaxm)\
**Post date:** [April 28, 2007, 10:51am UTC](https://www.ruby-forum.com/t/ruby-conditional-operator/93152/1 "2007-04-28T10:51:23Z")

</div>

Hi,  
in java, I can use ? : shorthand operators to ensure s is assigned to  
some value.  
String s = s == null ? “” : s;

Is there similar shorthand operator in Ruby?

Thanks.  
Yaxm

---

<div class="post-metadata">

**Author:** ![yaxm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/54ee81/32.png) [@yaxm](https://www.ruby-forum.com/u/yaxm)\
**Post date:** [April 28, 2007, 10:58am UTC](https://www.ruby-forum.com/t/ruby-conditional-operator/93152/2 "2007-04-28T10:58:59Z")

</div>

On Apr 28, 2007, at 5:51 PM, Yaxm Y. wrote:

> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

The same old ternary operator is in Ruby as in most languages these  
days.  
? :  
so…

conditional\_statement ? true\_result : false\_result

---

<div class="post-metadata">

**Author:** ![yaxm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/54ee81/32.png) [@yaxm](https://www.ruby-forum.com/u/yaxm)\
**Post date:** [April 28, 2007, 11:24am UTC](https://www.ruby-forum.com/t/ruby-conditional-operator/93152/3 "2007-04-28T11:24:00Z")

</div>

On 4/28/07, John J. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > Thanks.
> 
> conditional\_statement ? true\_result : false\_result

For assigning default value ||= is usually used (for non-logic values)

i.e.  
@name ||= “Joe”

doesn’t work for logic values (will overwrite false)  
search google for ruby idioms (e.g.  
[http://wiki.rubygarden.org/Ruby/page/show/RubyIdioms](http://wiki.rubygarden.org/Ruby/page/show/RubyIdioms))

Jano

---

<div class="post-metadata">

**Author:** ![yaxm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/54ee81/32.png) [@yaxm](https://www.ruby-forum.com/u/yaxm)\
**Post date:** [April 28, 2007, 11:33am UTC](https://www.ruby-forum.com/t/ruby-conditional-operator/93152/4 "2007-04-28T11:33:00Z")

</div>

On Apr 28, 2007, at 6:23 PM, Jano S. wrote:

> > > Is there similar shorthand operator in Ruby?  
> > > ? :  
> > > search google for ruby idioms (e.g.  
> > > [http://wiki.rubygarden.org/Ruby/page/show/RubyIdioms](http://wiki.rubygarden.org/Ruby/page/show/RubyIdioms))
> 
> Jano

of course there are many ways to set default values. The Perl slogan  
applies to Ruby very well.
