Project

General

Profile

Feature #11100

Permit multiple captures with String[Regexp, ...]

Added by 0x0dea (D.E. Akers) about 4 years ago. Updated over 3 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:68997]

Description

I propose that if we are able to conveniently grab one capture with this method, we ought to be able to grab more than one. Still, there are some caveats worth considering:

  • It should return an array, but every other #[] variant returns a string or nil.
  • Should the argument be an array, or should the method be variadic?
    • Array argument looks a little "noisy"? '123abc'[/(\d+)(\w+)/, [2, 1]]
    • Variadic method requires intrusive modification of internal calls to rb_str_subpat().
  • Complementary #[]= would be crpytic, overly complex, and likely go unused, but not adding it would break the symmetry.

I realize this is essentially an outline of why not to implement this feature, but I figured I'd toss it out there for feedback. Thoughts?


Files

History

Updated by djberg96 (Daniel Berger) over 3 years ago

I support allowing multiple captures. I think the [1,2] syntax is the most intuitive.

Also available in: Atom PDF