From: josh.cheek@... Date: 2015-11-03T23:33:39+00:00 Subject: [ruby-core:71320] [Ruby trunk - Bug #10123] Named capture groups don't set local vars when matched using ~ Issue #10123 has been updated by Josh Cheek. Josh Cheek wrote: > Broken when using `~`: > > ~~~ > $ echo ' josh' | ruby -ne '~/(?\w)/ and puts initial' > -e:1:in `
': undefined local variable or method `initial' for main:Object (NameError) > ~~~ > > Working when using `=~ $_`: > > ~~~ > $ echo ' josh' | ruby -ne '/(?\w)/ =~ $_ and puts initial' > j > ~~~ Similarly, these do not set the local variable. ~~~ $ echo ' josh' | ruby -ne '/(?\w)/ !~ $_ or puts initial' $ echo ' josh' | ruby -ne '$_[/(?\w)/] and puts initial' ~~~ ---------------------------------------- Bug #10123: Named capture groups don't set local vars when matched using ~ https://bugs.ruby-lang.org/issues/10123#change-54695 * Author: Josh Cheek * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- Broken when using `~`: ~~~ $ echo ' josh' | ruby -ne '~/(?\w)/ and puts initial' -e:1:in `
': undefined local variable or method `initial' for main:Object (NameError) ~~~ Working when using `=~ $_`: ~~~ $ echo ' josh' | ruby -ne '/(?\w)/ =~ $_ and puts initial' j ~~~ -- https://bugs.ruby-lang.org/