# Newbie Question: irb

**URL:** <https://www.ruby-forum.com/t/newbie-question-irb/110184>\
**Category:** Ruby\
**Created:** [July 24, 2007, 12:32am UTC](https://www.ruby-forum.com/t/newbie-question-irb/110184 "2007-07-24T00:32:18Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ghoti143](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/90db22/32.png) [@ghoti143](https://www.ruby-forum.com/u/ghoti143)\
**Post date:** [July 24, 2007, 12:32am UTC](https://www.ruby-forum.com/t/newbie-question-irb/110184/1 "2007-07-24T00:32:18Z")

</div>

How can I access the previous result of an evaluation in the irb  
debugger.

For example:

> > 1 + 2  
> > 3 \<-- I want to access this result

> > 5 + {some expression which is ‘3’}  
> > 8

=================  
In lisp it would be:

> > (+ 1 2)  
> > 3
> 
> > (+ 5 \*) \<-- use a star to grab one result back  
> > 8
> 
> > (+ 5 \*\*) \<-- use a double start to grab two results back  
> > 8

Anyway, thanks in advance for the help,

Mike

---

<div class="post-metadata">

**Author:** ![ghoti143](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/90db22/32.png) [@ghoti143](https://www.ruby-forum.com/u/ghoti143)\
**Post date:** [July 24, 2007, 12:56am UTC](https://www.ruby-forum.com/t/newbie-question-irb/110184/2 "2007-07-24T00:56:44Z")

</div>

In irb, “\_” represents the previous result, and to go farther back you  
can just assign results to variables.

irb(main):001:0\> a = 1 + 2  
=\> 3  
irb(main):002:0\> 5  
=\> 5  
irb(main):003:0\> \_ + a  
=\> 8

---

<div class="post-metadata">

**Author:** ![ghoti143](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/90db22/32.png) [@ghoti143](https://www.ruby-forum.com/u/ghoti143)\
**Post date:** [July 24, 2007, 5:46am UTC](https://www.ruby-forum.com/t/newbie-question-irb/110184/3 "2007-07-24T05:46:02Z")

</div>

On Jul 23, 3:32 pm, Mike H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> How can I access the previous result of an evaluation in the irb  
> debugger.

You must enable EVAL\_HISTORY. Once you do so, you can access the  
return value of the last expression via “\_”.  
See [http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/102888](http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/102888)

The token “\_\_” (2 underscores) will give you access to the currrent  
IRB::History object. Unfortunatley, it’s not a full fledged array.

irb(main):001:0\> 1+1  
=\> 2  
irb(main):002:0\> 2+2  
=\> 4  
irb(main):003:0\> \_\_[-2]+1  
=\> 3  
irb(main):004:0\> \_\_[-1]\*3  
=\> 9
