From: nobu@... Date: 2021-01-13T12:14:49+00:00 Subject: [ruby-core:102060] [Ruby master Bug#17533] Named capture is not assigned to the same variable as reserved words. Issue #17533 has been reported by nobu (Nobuyoshi Nakada). ---------------------------------------- Bug #17533: Named capture is not assigned to the same variable as reserved words. https://bugs.ruby-lang.org/issues/17533 * Author: nobu (Nobuyoshi Nakada) * Status: Open * Priority: Normal * Backport: 2.5: REQUIRED, 2.6: REQUIRED, 2.7: REQUIRED, 3.0: REQUIRED ---------------------------------------- It is expected that named captures don't add new variables same as reserved words, and such variables couldn't be made usually at the time when named capture was implemented. Keyword arguments since 2.0 can be the same as reserved words, however an assignment to an such already defined variable has been also suppressed now. ```ruby def test(s, nil: :ng) /(?.)/ =~ s binding.local_variable_get(:nil) end p test("a") #=> :ng ``` ```ruby tap do |nil: :ng| /(?.)/ =~ "c" p binding.local_variable_get(:nil) #=> :ng end ``` -- https://bugs.ruby-lang.org/ Unsubscribe: