2013-03-01 57 views
0

我无法使用IRB执行以下命令。 Ruby 2.0 该脚本取自官方的Ruby Core 2.0 Doc。Ruby gsub IRB错误

"hello".gsub(%r([aeiou])/, '<\1>') 

(irb):2: syntax error, unexpected ')', expecting end-of-input 
    from /usr/local/rvm/rubies/ruby-2.0.0-p0/bin/irb:16:in `<main>' 

回答

3
"hello".gsub(%r([aeiou]), '<\1>') 
"hello".gsub(/[aeiou]/, '<\1>') 

使用%r()//

+0

酷!谢谢! – 2013-03-01 10:57:26

4
"hello".gsub(%r([aeiou]), '<\1>') 

您有一个额外的/。使用%r()//作为正则表达式分隔符。

我检查了文档,我确认那里有一个错字。不过,我相信这是由RDoc引起的,因为the original source is correct

+0

他们有什么区别? – 2013-03-01 10:59:35

+0

没有区别。 Ruby允许您以不同方式创建正则表达式。 – 2013-03-01 11:03:20