-2

如果数组定义不正确,似乎会使 irb 无法使用。或者是吗?

请参见下面的示例:

irb(main):003:0> set = ['a]
irb(main):004:1'
irb(main):005:1' g
irb(main):006:1' q
irb(main):007:1' '
irb(main):008:1> set
irb(main):009:1> puts 'hello'
irb(main):010:1>
irb(main):011:1*
irb(main):012:1* '
irb(main):013:1' '
irb(main):014:1> '
irb(main):015:1' '
irb(main):016:1> "
irb(main):017:1" "
irb(main):018:1> puts "hello"
irb(main):019:1> ^C
irb(main):019:0>
irb(main):020:0*
irb(main):021:0* ^C
irb(main):021:0> exit
4

2 回答 2

1

发生这种情况是因为您忘记了开头的第一个引号。它将将该报价添加到下一个输入中。按下ctrl-C并重试。那应该解决它。

如果这没有帮助,试试ctrl-D这将向 irb 发送 EOF。见:http ://en.wikipedia.org/wiki/End-of-file

于 2013-04-17T16:16:13.493 回答
1

当您没有关闭单引号字符串时,irb开始将后面的所有内容(包括 close-array])视为该字符串的一部分。

要返回有效的提示,您需要

  1. 关闭字符串和数组 - 即匹配'然后]; 或者
  2. 按 Ctrl-C,这会使您脱离上下文

看到提示中的最后一个数字在1您的格式错误的字符串之后更改为0Ctrl-C 之后?这就是嵌套深度。如果它为 0,那么您将回到 itb 的主要上下文中。

于 2013-04-17T16:17:44.013 回答