[ruby-core:113361] [Ruby master Bug#19619] Numbered parameters don't work with method definition with parameters
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2023-04-27 14:15:39 UTC
List:
ruby-core #113361
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/