From: "nobu (Nobuyoshi Nakada) via ruby-core" Date: 2023-04-27T14:15:39+00:00 Subject: [ruby-core:113361] [Ruby master Bug#19619] Numbered parameters don't work with method definition with parameters Issue #19619 has been updated by nobu (Nobuyoshi Nakada). Subject changed from Endless method definition with parameters for an instance given as numbered parameters doesn't work to Numbered parameters don't work with method definition with parameters Since this doesn't work too, endless and/or singleton method definition doesn't seem to matter. ```ruby 1.times {p _1; def bar; end} #=> 0 1.times {p _1; def bar x; end} #=> nil ``` ---------------------------------------- Bug #19619: Numbered parameters don't work with method definition with parameters https://bugs.ruby-lang.org/issues/19619#change-102924 * Author: okuramasafumi (Masafumi OKURA) * Status: Open * Priority: Normal * ruby -v: 3.2.2 * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- This works: ```ruby class Foo def bar(baz) = 'foo' end p Foo.new.bar('baz') ``` This also works: ```ruby o = Object.new o.tap { |obj| def obj.bar(baz) = 'foo' } p o.bar('baz') ``` Even this works: ```ruby o = Object.new o.tap { def _1.bar = 'foo' } p o.bar ``` But this DOESN'T work: ```ruby o = Object.new o.tap { def _1.bar(baz) = 'foo' } p o.bar('baz') ``` So, when we define a method with parameters on an instance given as numbered parameters, it doesn't work. If we change one condition (definition way, parameter existence, and so on), it works. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/