5

I'm using Rails 2.3.8 with jRuby for a project. and I regularly use rails console for testing my classes and API, where somehow I experience one problem. when I am working in the Rails console, if I mistakenly input some multi-line commands, is there a way to cancel it somewhere in the middle?

e.g.:

>> [1,2,3,4].inject(1){
?>

All I found is it will be expecting me to finish the whole completed statement, but all I wanna do is to cancel all current statements.

I've tried Ctrl+C, but it didn't work for me.

Any advice would be very much appreciated.

Flip
  • 6,233
  • 7
  • 46
  • 75
Sarun Sermsuwan
  • 3,608
  • 5
  • 34
  • 46

1 Answers1

4

At the prompt, you can use the following command to control the irb session.

conf.ignore_sigint= true/false

This specifies the behavior of ^C (control-c). If false, ^C will quit irb. If true, ^C during input will cancel input and return to the top level; during execution, ^C will abort the current operation.

On the underside, rails console uses IRB. Also see:

http://www.rubycentral.com/pickaxe/irb.html

Edit

rubycentral.com link is dead.

Mark C.
  • 6,332
  • 4
  • 35
  • 71
Anil
  • 3,899
  • 1
  • 20
  • 28