我的IRB没有产生输出,在点击ENTER后被消隐了

时间:2013-01-19 07:56:31

标签: ruby irb

当我尝试对m = %r(.)(.)(\d+)(\d)/.match("THX1138.")行(取自doc)执行某些操作时,屏幕上没有任何内容如下所示:

screen

来自>

IRB熄灭,\来了,光标开始闪烁,如上图所示。

我做错了你能引导我吗?

由于


根据@valodzka建议,我尝试了以下操作,并从>返回/。 yippyy:)

irb(main):006:0> m = %r(.)(.)(\d+)(\d)/.match("THX1138.")
irb(main):007:1/ /)
SyntaxError: (irb):6: syntax error, unexpected '(', expecting $end
m = %r(.)(.)(\d+)(\d)/.match("THX1138.")
          ^
        from C:/Ruby193/bin/irb:12:in `<main>'
irb(main):008:0>

非常感谢 @valodzka :)

1 个答案:

答案 0 :(得分:1)

Regexp语法错误,应该是:

m = /(.)(.)(\d+)(\d)/.match("THX1138.")

m = %r/(.)(.)(\d+)(\d)/.match("THX1138.")

文档绝对不正确。 Ruby regexp语法为/regexp/%r'open-symbol'regexp'close-symbol',例如/test/%r{test}%r|test|。通常使用//,但在某些情况下,当regexp包含'/'符号%r时,表单可能很有用。