有人之前有过这个红宝石警告吗? “警告:冗余嵌套重复运算符”
这是什么意思?
当我开始Webrick
时,我明白了这就是我的痕迹:
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rack-mount-0.6.13/lib/rack/mount/strexp.rb:4
1: warning: redundant nested repeat operator
c:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.5/lib/action_dispatch/routing
/route.rb:25: warning: redundant nested repeat operator
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rack-mount-0.6.13/lib/rack/mount/route.rb:46
我正在使用Rails 3.0.5和Ruby 1.9.2 p180
答案 0 :(得分:3)
如果在一个原子上有一个带有两个重复运算符的正则表达式,就会发生这种情况。如,
ruby-1.9.2-p180 :001 > re = /\w**/
~/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/workspace.rb:80:
warning: redundant nested repeat operator: /\w**/
=> /\w**/
鉴于回溯看起来像路由库(我没有亲自使用机架式宝石),我猜你的一条路线要么有一个冗余重复运算符,要么正在减少到正则表达式有一个。
答案 1 :(得分:2)
@ michael的回应让我找到了真正的问题:
如果您的routes.rb中有以下内容,
match "/foo(/bar(/something)))" => "controller#action"
您收到上述警告。它的存在是为了警告您/foo
有效,/foo/bar
也有用/foo/bar/something