# Create a irb like console for my program

**URL:** <https://www.ruby-forum.com/t/create-a-irb-like-console-for-my-program/124713>\
**Category:** Ruby\
**Created:** [January 1, 2008, 5:25pm UTC](https://www.ruby-forum.com/t/create-a-irb-like-console-for-my-program/124713 "2008-01-01T17:25:51Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [January 1, 2008, 5:25pm UTC](https://www.ruby-forum.com/t/create-a-irb-like-console-for-my-program/124713/1 "2008-01-01T17:25:51Z")

</div>

hello  
how do i create a irb like console for my ruby app. i am running on  
windows fyi.

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [January 1, 2008, 5:34pm UTC](https://www.ruby-forum.com/t/create-a-irb-like-console-for-my-program/124713/2 "2008-01-01T17:34:40Z")

</div>

On 1 Jan 2008, at 16:24, Junkone wrote:

> how do i create a irb like console for my ruby app. i am running on  
> windows fyi.

Try Highline:

[http://highline.rubyforge.org/](http://highline.rubyforge.org/)

Regards,  
Andy S.

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [January 1, 2008, 6:23pm UTC](https://www.ruby-forum.com/t/create-a-irb-like-console-for-my-program/124713/3 "2008-01-01T18:23:52Z")

</div>

exposed to the end user? or just for development use?

If it’s just development use you’re after simply require ‘your/lib’ and  
go  
to town? irb also loads .irbrc when it launches, first from the current  
path then $HOME/.irbrc so you can create a .irbrc that  
preloads/configures  
the debugging environment for you.

I don’t have any experience embedding it ( I think that’s what you’re  
after?  
)

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [January 1, 2008, 9:03pm UTC](https://www.ruby-forum.com/t/create-a-irb-like-console-for-my-program/124713/4 "2008-01-01T21:03:10Z")

</div>

The easiest way to do it is just create a file for IRB to load which  
contains everything you want it to have access to, then do

irb -r the\_file.rb

and you’re good to go.

On 1/1/08, michael greenly [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On Jan 1, 2008 10:24 AM, Junkone [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
> [http://blog.michaelgreenly.com](http://blog.michaelgreenly.com)

–  
Giles B.

Podcast: [http://hollywoodgrit.blogspot.com](http://hollywoodgrit.blogspot.com)  
Blog: [http://gilesbowkett.blogspot.com](http://gilesbowkett.blogspot.com)  
Portfolio: [http://www.gilesgoatboy.org](http://www.gilesgoatboy.org)  
Tumblelog: [http://giles.tumblr.com](http://giles.tumblr.com)

---

<div class="post-metadata">

**Author:** ![Junkone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e274bd/32.png) [@Junkone](https://www.ruby-forum.com/u/Junkone)\
**Post date:** [January 1, 2008, 10:02pm UTC](https://www.ruby-forum.com/t/create-a-irb-like-console-for-my-program/124713/5 "2008-01-01T22:02:54Z")

</div>

my hack that i use for quick debugging on my programs is

require ‘pp’

# do some setup

$stdout.write("# “); $stdout.flush  
while line = gets  
pp eval(line)  
$stdout.write(”\n# "); $stdout.flush

# or

# pp main\_object.instance\_eval(line)

end

problem is of course that you have to make all your commands one-liners,  
but aside from that it works like a charm
