# Ruby idiom a | |= b meaning?

**URL:** <https://www.ruby-forum.com/t/ruby-idiom-a-b-meaning/141861>\
**Category:** Rails\
**Created:** [July 1, 2008, 6:34am UTC](https://www.ruby-forum.com/t/ruby-idiom-a-b-meaning/141861 "2008-07-01T06:34:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ratnavel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/6f9a4e/32.png) [@ratnavel](https://www.ruby-forum.com/u/ratnavel)\
**Post date:** [July 1, 2008, 6:34am UTC](https://www.ruby-forum.com/t/ruby-idiom-a-b-meaning/141861/1 "2008-07-01T06:34:03Z")

</div>

What does the ruby idiom a ||= b mean?

Thanks,  
Ratnavel

---

<div class="post-metadata">

**Author:** ![ratnavel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/6f9a4e/32.png) [@ratnavel](https://www.ruby-forum.com/u/ratnavel)\
**Post date:** [July 1, 2008, 6:37am UTC](https://www.ruby-forum.com/t/ruby-idiom-a-b-meaning/141861/2 "2008-07-01T06:37:35Z")

</div>

Ratnavel P S wrote:

> What does the ruby idiom a ||= b mean?
> 
> Thanks,  
> Ratnavel

If a is not set (or is nil), set it with the value of b.

---

<div class="post-metadata">

**Author:** ![ratnavel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/6f9a4e/32.png) [@ratnavel](https://www.ruby-forum.com/u/ratnavel)\
**Post date:** [July 1, 2008, 7:01am UTC](https://www.ruby-forum.com/t/ruby-idiom-a-b-meaning/141861/3 "2008-07-01T07:01:38Z")

</div>

Thanks Ryan,

---

<div class="post-metadata">

**Author:** ![ratnavel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/6f9a4e/32.png) [@ratnavel](https://www.ruby-forum.com/u/ratnavel)\
**Post date:** [July 1, 2008, 7:01am UTC](https://www.ruby-forum.com/t/ruby-idiom-a-b-meaning/141861/4 "2008-07-01T07:01:38Z")

</div>

On Jul 1, 2008, at 12:34 AM, Ratnavel P S wrote:

> What does the ruby idiom a ||= b mean?
> 
> Thanks,  
> Ratnavel

It is like:  
a || a = b  
See David A. Black’s Blog  
[http://dablog.rubypal.com/2008/3/25/a-short-circuit-edge-case](http://dablog.rubypal.com/2008/3/25/a-short-circuit-edge-case)

-Rob

Rob B. [http://agileconsultingllc.com](http://agileconsultingllc.com)  
removed\_email\_address@domain.invalid
