Project

General

Profile

Actions

Feature #9253

open

Regexp named match and case statement

Added by oelmekki (Olivier El Mekki) over 10 years ago. Updated about 6 years ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:59139]

Description

Hello,

I've notice there's no mean to use captured named matches with case
statement :

> a, b = "foo bar", nil
=> ["foo bar", nil]

>   case a
>     when /foo (?<b>bar)/ then p b
>   end
nil

This is not critical, because we can use $1, $2 and friends in place, but it
certainly would be nice and less surprising if it worked.

NB : btw, the link "How to report" [1] from tracker home page [2] is a 404.

[1] https://bugs.ruby-lang.org/projects/ruby/wiki/HowtoReport
[2] https://bugs.ruby-lang.org/

Updated by mame (Yusuke Endoh) over 10 years ago

There is a way to capture it: use $~[:b] instead of b. Nonetheless, I like this proposal.

--
Yusuke Endoh

Updated by oelmekki (Olivier El Mekki) over 10 years ago

I didn't know of this syntax, thanks Yusuke.

mame (Yusuke Endoh) wrote:

There is a way to capture it: use $~[:b] instead of b. Nonetheless, I like this proposal.

--
Yusuke Endoh

Updated by shevegen (Robert A. Heiler) about 10 years ago

Indeed, I did not know of $~[:b] either. Quite nice.

Updated by hsbt (Hiroshi SHIBATA) about 10 years ago

  • Target version changed from 2.1.0 to 2.2.0
Actions #5

Updated by naruse (Yui NARUSE) about 6 years ago

  • Target version deleted (2.2.0)
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0