From: "Dan0042 (Daniel DeLorme) via ruby-core" <ruby-core@...>
Date: 2023-04-06T12:03:25+00:00
Subject: [ruby-core:113151] [Ruby master Feature#19370] Anonymous parameters for blocks?

Issue #19370 has been updated by Dan0042 (Daniel DeLorme).


sawa (Tsuyoshi Sawada) wrote in #note-4:
> I think nested anonymous arguments should be prohibited as with numbered parameters:

That's a good idea, but does it mean this would become valid?

```ruby
def test
  proc { |*| p(*) }.call(1)
end
```

----------------------------------------
Feature #19370: Anonymous parameters for blocks?
https://bugs.ruby-lang.org/issues/19370#change-102687

* Author: zverok (Victor Shepelev)
* Status: Assigned
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
----------------------------------------
Just to clarify: are anonymous parameters delegation is planned to support in blocks? 

It would be a nice addition, if it is possible to implement:
```ruby
# data in form [request method, URL, params]:
[
  [:get, 'https://google.com', {q: 'Ruby'}, {'User-Argent': 'Google-Chrome'}],
  [:post, 'https://gist.github.com', 'body'],
  # ...
].each { |method, *| request(method.to_s.upcase, *) }
```
...and at the very least, consistent with what the method definition can have.

If they are NOT planned to be implemented, I believe that at least error messages should be made much clearer, because currently, this would happen while running the code above:
> no anonymous rest parameter (SyntaxError)

I understand the reason (the `request` clause doesn't "see" anonymous parameter of the **block**, and claims that current **method** doesn't have them), but it looks honestly confusing and inconsistent.



-- 
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/