Ruby Console多行

时间:2012-02-07 16:44:32

标签: ruby console

这基本上是一个关于Ruby控制台(IRB)的非常棒的问题,但我无法在任何地方找到答案。所以。在Ruby控制台中编写语句然后在其中按Enter键时,有时控制台希望我继续使用该语句并开始如下所示:

ruby​​-1.9.2-p180:093“>

这“基本上告诉我(我认为)Ruby希望我完成上一行的语句。但是我无法完成它或取消语句。再次按Enter键并没有真正帮助,还有Ruby如果我此时输入一些语句,则停止计算其他语句。

那么,这种模式是什么以及如何处理它?<​​/ p>

3 个答案:

答案 0 :(得分:3)

这意味着你的报价是不平衡的;输入报价。

irb(main):004:0> s="this is
irb(main):005:0" a test"
=> "this is\na test"

您还可以点击Ctrl-C <Return>,这会将您转到根提示符。 Ctrl-D会将您退回到提示符,但由于未终止的引用,下一个<Return>将引发错误。

或者,使用pry,您可以使用!退回到最高级别。

答案 1 :(得分:0)

您仍然可以完成上一个声明。 Ruby告诉你,你在前一行打开了双引号字符串,并没有关闭它。只需输入";结果可能是语法错误,但至少您的控制台将再次可用。

答案 2 :(得分:0)

引号"表示您位于字符串中间。您可以关闭字符串,或者,如果按Ctrl-C,它应该终止当前语句。