Issue #9623 has been updated by jeremyevans0 (Jeremy Evans).

Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN)
Status changed from Open to Closed

Fixed by commit:75a68057c712897bce6d787114ffa72504556756.

----------------------------------------
Bug #9623: warning: "named capture conflicts a local variable" does not allow loops with named captures
https://bugs.ruby-lang.org/issues/9623#change-79315

* Author: drbrain (Eric Hodel)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0]
* Backport: 
----------------------------------------
Given the following example:

    args = []
    
    remaining = 'a,b,c'
    
    begin
      /(?<token>[^,]*),?(?<remaining>.*)/ =~ remaining
    
      args << token
    end until remaining.empty?
    
    p args
    
Gives a warning with -w: test.rb:6: warning: named capture conflicts a local variable - remaining

I'm unsure if the warning is useful here.  Reassigning in the loop through the named captures seems clearer than using the regexp globals.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>