On Aug 25, 2010, at 10:50 AM, Quintus wrote: > 1. I wanted to use IRB to just allow the user to enter Ruby code in the > current project context, but IRB seems to only read from STDIN. I didn't > find a possibility to direct IRB somewhere else. So, is there one or can > I give up on this? On Unix, you can use a Psuedo-Terminal (PTY) to manage an IRb process: $ ruby pty_irb.rb >> j = "james" => "james" >> j.capitalize => "James" >> exit Cakey-Please:~/Desktop $ cat pty_irb.rb require "pty" require "expect" PTY.spawn("irb -f --simple-prompt") do |reader, writer, pid| input = "" while output = reader.expect(/^>>\s+/) if output and output.first output.first.sub!(/\A#{Regexp.escape(input.to_s.rstrip)}\r?\n/, "") end print output $stdout.flush input = gets writer << input end end > A major part of this problems is that the code has to be > platform-independent, because the GUI is going to be run on Windows and > Linux systems (and maybe Macs as well)... I don't think the PTY library works on Windows, unfortunately. Perhaps there's a different but similar strategy you can use there.