There are other options too:

Are you on a unix/osx or on Windows ?

1. Have 2 threads. One takes user input, and another displays or does 
work.
I;ve done a small program like this that plays music while giving me a 
prompt so user can pause, halt etc.

If your work is not in the background, then you don't need threads. You 
can position the cursor using system("tput cup"). You would do this for 
always taking input on top or bottom line. Not clean but it works.


2. Another simple option is to use Liveconsole. You can open another 
terminal window and pass commands on the prompt (an irb prompt). 
Liveconsole gives you samples, its very easy.

-- 
Posted via http://www.ruby-forum.com/.