0

一个简单的例子:

1.9.3p448 :003 > `ls #{File.expand_path('../../', File.dirname(__FILE__))
1.9.3p448 :004 > `
1.9.3p448 :005`>
1.9.3p448 :006`> }
1.9.3p448 :007`> `
1.9.3p448 :008 > `
1.9.3p448 :009`> `
1.9.3p448 :010 > )

Ctrl-c 在这里不起作用。如果我知道预期的结束字符是什么,那么我可以键入它来结束序列。这需要脑力劳动,有时我会弄错,就像我在这里所做的那样。

有没有办法简单地告诉 irb 我希望它删除到目前为止看到的输入字符串?

也适用于“rails 控制台”和调试器。

编辑 在评论我的整个 irbrc 文件后,对我有用的答案是 ctrl-c。Ctrl-D 仍然对我不起作用,但 YMMV

4

2 回答 2

2

按下ctrl+D然后返回;对于您未能终止的任何语句,您都会收到语法错误,并且您将能够开始一个新的语句:

irb(main):001:0> ziuhas'
irb(main):002:0' ^D
irb(main):002:0>
SyntaxError: (irb):1: unterminated string meets end of file
    from /Users/matthew.eagar/.rbenv/versions/1.9.3-p327/bin/irb:12:in `<main>'
于 2013-08-29T20:08:24.113 回答
1

通常^D这样做。

另一种选择是更加突兀^C

于 2013-08-29T20:08:31.277 回答