[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[Ruby Forum] irb feature suggestion

Alexey Verkhovsky

9/27/2004 7:14:00 PM

Cross-posted from Ruby Forum:
http://www.ruby-forum.org/bb/viewtopi...

----

How do you get the value of the last expression entered in irb?

SML/NJ puts it in the variable 'it', Python uses '_', I think.
So you can do something like this:
Code:
> 6*9
=> it = 54
> it - 12
=> it = 42

Can you do this in Irb? It's very useful for evaluating expressions
interactively, without cluttering up your symbol table (e.g. when
evaluating something piece-by-piece to see how it's working.)

For example, I just did
Code:
YAML::load(<<END)
# ... some YAML here ...
END
and got the right result, then realised I had no way of using it.



2 Answers

Mark Hubbart

9/27/2004 7:22:00 PM

0


On Sep 27, 2004, at 12:13 PM, Alexey Verkhovsky wrote:

> Cross-posted from Ruby Forum:
> http://www.ruby-forum.org/bb/viewtopi...
>
> ----
>
> How do you get the value of the last expression entered in irb?
>
> SML/NJ puts it in the variable 'it', Python uses '_', I think.
> So you can do something like this:
> Code:
>> 6*9
> => it = 54
>> it - 12
> => it = 42
>
> Can you do this in Irb? It's very useful for evaluating expressions
> interactively, without cluttering up your symbol table (e.g. when
> evaluating something piece-by-piece to see how it's working.)
>
> For example, I just did
> Code:
> YAML::load(<<END)
> # ... some YAML here ...
> END
> and got the right result, then realised I had no way of using it.

I distinctly remembered this one from a few months back...

In ruby-talk:102888, Nobu Nakada said:

> EVAL_HISTORY enables _.
>
> $ grep HISTORY ~/.irbrc
> IRB.conf[:EVAL_HISTORY] = 1000
> IRB.conf[:SAVE_HISTORY] = 100
>
> $ irb
> irb(main):001:0> 2+2
> => 4
> irb(main):002:0> _
> => 4
> irb(main):003:0>
>
> --
> Nobu Nakada


So, just add those lines to your ~/.irbrc, and that's it.

HTH,
Mark



Dave Thomas

9/27/2004 7:27:00 PM

0


On Sep 27, 2004, at 14:13, Alexey Verkhovsky wrote:

> How do you get the value of the last expression entered in irb?

dave[ruby/lib 14:26:14] irb
irb(main):001:0> 1 + 2
=> 3
irb(main):002:0> conf.last_value
=> 3



Cheers

Dave