[#109095] [Ruby master Misc#18888] Migrate ruby-lang.org mail services to Google Domains and Google Workspace — "shugo (Shugo Maeda)" <noreply@...>
Issue #18888 has been reported by shugo (Shugo Maeda).
16 messages
2022/06/30
[ruby-core:108974] [Ruby master Feature#18831] Block argument to `yield`
From:
"mame (Yusuke Endoh)" <noreply@...>
Date:
2022-06-17 09:32:44 UTC
List:
ruby-core #108974
Issue #18831 has been updated by mame (Yusuke Endoh).
We discussed this issue at the dev meeting, and @matz was not positive to change it.
Currently, Ruby does not accept `yield` with a block, but Ripper does. However, it is not trivial to fix Ripper. This issue is strongly related to #10436.
```
$ ruby -rripper -e 'pp Ripper.sexp("def foo; yield 1, 2, 3 do end; end")'
[:program,
[[:def,
[:@ident, "foo", [1, 4]],
[:params, nil, nil, nil, nil, nil, nil, nil],
[:bodystmt,
[[:method_add_block,
[:yield, [:args_add_block, [[:@int, "1", [1, 15]], [:@int, "2", [1, 18]], [:@int, "3", [1, 21]]], false]],
[:do_block, nil, [:bodystmt, [[:void_stmt]], nil, nil, nil]]]],
nil,
nil,
nil]]]]
```
----------------------------------------
Feature #18831: Block argument to `yield`
https://bugs.ruby-lang.org/issues/18831#change-98077
* Author: nobu (Nobuyoshi Nakada)
* Status: Open
* Priority: Normal
----------------------------------------
Block argument to `yield` is a syntax error.
This is because there was previously no way to receive a given block in the yielded block.
However `do |&block|` has been introduced since 1.8.7.
Why is it prohibited still now?
https://github.com/nobu/ruby/tree/blockarg-yield
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>