|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Lisp programmers often use the REPL (similar to IRB) as a simple way
to make an interactive interface to their app. I'd like to do the same thing with irb - that is, define my classes, and load irb in the context. I can get about half way there: require 'irb' IRB.start my_class = MyClass.new(...) # I want this to be the context irb my_class ....works, but you have to type "quit" to load. Is there a better way to leverage IRB from within my code? What do the Ruby hackers say? (I know a lot have a Lisp background, and so wouldn't want Ruby to not have a REPL shell...) |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
On Nov 19, 6:21 pm, "S. Robert James" <srobertja...@gmail.com> wrote:
> Lisp programmers often use the REPL (similar to IRB) as a simple way > to make an interactive interface to their app. I'd like to do the > same thing with irb - that is, define my classes, and load irb in the > context. > > I can get about half way there: > > require 'irb' > IRB.start > my_class = MyClass.new(...) # I want this to be the context > irb my_class > > ...works, but you have to type "quit" to load. Is there a better way > to leverage IRB from within my code? What do the Ruby hackers say? (I > know a lot have a Lisp background, and so wouldn't want Ruby to not > have a REPL shell...) Another, similar problem with the above: irb my_class conf.prompt_mode = :SIMPLE # This line is ignored |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On 11/19/07, S. Robert James <srobertjames@gmail.com> wrote:
> On Nov 19, 6:21 pm, "S. Robert James" <srobertja...@gmail.com> wrote: > > Lisp programmers often use the REPL (similar to IRB) as a simple way > > to make an interactive interface to their app. I'd like to do the > > same thing with irb - that is, define my classes, and load irb in the > > context. > > > > I can get about half way there: > > > > require 'irb' > > IRB.start > > my_class = MyClass.new(...) # I want this to be the context > > irb my_class > > > > ...works, but you have to type "quit" to load. Is there a better way > > to leverage IRB from within my code? What do the Ruby hackers say? (I > > know a lot have a Lisp background, and so wouldn't want Ruby to not > > have a REPL shell...) > > Another, similar problem with the above: > irb my_class > conf.prompt_mode = :SIMPLE # This line is ignored hmmm, I've also had some problems trying to add a command interface to some code. I found trying to bend IRB to fit the needs seems to be trickier than just coding up a solution in readline directly. Is that really the best solution? Cameron |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
On Nov 19, 9:07 pm, Cameron McBride <cameron.mcbr...@gmail.com> wrote:
> > hmmm, I've also had some problems trying to add a command interface to > some code. I found trying to bend IRB to fit the needs seems to be > trickier than just coding up a solution in readline directly. Is that > really the best solution? > > Cameron Then you miss out on the full power of Ruby in your interface! The beauty of using a REPL or IRB is that you have an easy command line interface, with automatic scripting when you need it, expandable to the full power of the host language as needed. |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
On 11/19/07, S. Robert James <srobertjames@gmail.com> wrote:
> On Nov 19, 9:07 pm, Cameron McBride <cameron.mcbr...@gmail.com> wrote: > > > > hmmm, I've also had some problems trying to add a command interface to > > some code. I found trying to bend IRB to fit the needs seems to be > > trickier than just coding up a solution in readline directly. Is that > > really the best solution? > > > > Cameron > > Then you miss out on the full power of Ruby in your interface! > The beauty of using a REPL or IRB is that you have an easy command > line interface, with automatic scripting when you need it, expandable > to the full power of the host language as needed. Sorry, I wasn't clear. I'm talking about building a ruby library and then the CLI with readline does a stateful eval. Problem is that it reimplements functionality that already exists in IRB. Cameron |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On Tue, Nov 20, 2007 at 08:25:00AM +0900, S. Robert James wrote:
> Lisp programmers often use the REPL (similar to IRB) as a simple way > to make an interactive interface to their app. I'd like to do the > same thing with irb - that is, define my classes, and load irb in the > context. There's an example of this in Shoes: http://code.whytheluckystiff.net/svn...samples/irb.rb The MimickIRB class just wraps IRB's RubyLex class in a very simple REPL. I don't know if this is exactly what you're looking for (since it doesn't do debugging, .irbrc, or frames) but it's nice if you want to start your own from nothing. _why |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
On 11/19/07, S. Robert James <srobertjames@gmail.com> wrote:
> Lisp programmers often use the REPL (similar to IRB) as a simple way > to make an interactive interface to their app. I'd like to do the > same thing with irb - that is, define my classes, and load irb in the > context. There's one very simple way to do this. Do gem install aws-s3 And have a look at s3sh in the bin dir. It's basically just a shell script. It just aims regular old IRB at a setup file which establishes some relevant variables and loads some relevant modules. Rails console does nearly exactly the same thing - all it really adds in is more libraries and some command-line args with optparse. -- Giles Bowkett Podcast: http://hollywoodgrit.blogspot.com Blog: http://gilesbowkett.blogspot.com Portfolio: http://www.gilesgoatboy.org Tumblelog: http://giles.tumblr.com |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
S. Robert James wrote:
> Lisp programmers often use the REPL (similar to IRB) as a simple way > to make an interactive interface to their app. I'd like to do the > same thing with irb - that is, define my classes, and load irb in the > context. > > I can get about half way there: > > require 'irb' > IRB.start > my_class = MyClass.new(...) # I want this to be the context > irb my_class > > ...works, but you have to type "quit" to load. Is there a better way > to leverage IRB from within my code? What do the Ruby hackers say? (I > know a lot have a Lisp background, and so wouldn't want Ruby to not > have a REPL shell...) This might : http://blade.nagaokaut.ac.jp/cgi-bin...by-talk/244139 -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407 |
|
![]() |
| Outils de la discussion | |
|
|