Feature #2778

Regular Expression Named Group Matching does not work with String#[]

Added by rklemme (Robert Klemme) over 10 years ago. Updated over 9 years ago.

Target version:


I just noticed this:

irb(main):001:0> s = "Robert Klemme"
=> "Robert Klemme"
irb(main):002:0> s[/(?\w+)\s+\w+/, :first]
TypeError: can't convert Symbol into Integer
from (irb):2:in []'
from (irb):2
from /opt/bin/irb19:12:in
irb(main):003:0> s.match(/(?\w+)\s+\w+/)[:first]
=> "Robert"

IMHO it's just a small glitch but I believe for consistency reasons we should allow for a symbol as second argument with String#[] as well.

Related issues

Is duplicate of Ruby master - Feature #966: String#[] should accept (Regexp, String) args so named groups can be usedClosedakr (Akira Tanaka)01/02/2009Actions

Updated by naruse (Yui NARUSE) over 10 years ago

  • Status changed from Open to Closed

This will be implemented in Ruby 1.9.2.


Updated by rklemme (Robert Klemme) over 10 years ago

Thanks for the update! I wonder whether closing is the proper resolution. Shouldn't we be setting target version to 1.9.2 and keep this open until the code change is done?


Updated by naruse (Yui NARUSE) over 10 years ago

"will" means 1.9.2 is not released yet; the code is already in trunk.
see also #966

Also available in: Atom PDF