From: "mame (Yusuke Endoh)" Date: 2022-07-21T12:28:08+00:00 Subject: [ruby-core:109283] [Ruby master Bug#18837] Not possible to evaluate expression with numbered parameters in it Issue #18837 has been updated by mame (Yusuke Endoh). Status changed from Open to Rejected We discussed this issue at the dev meeting. @matz agreed that it is difficult to support this for the reasons I said in #note-2. ---------------------------------------- Bug #18837: Not possible to evaluate expression with numbered parameters in it https://bugs.ruby-lang.org/issues/18837#change-98415 * Author: hurricup (Alexandr Evstigneev) * Status: Rejected * Priority: Normal * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- I presume it's not really a bug, but design flaw, but this is really frustrating. Use case is - debugger. Here is script with expected behavior: ``` def dumper(bnd) puts bnd.local_variable_get 'i' puts bnd.eval 'i * 10' end [1,2].each { |i| dumper(binding) } ``` And this one attempts to do the same with numbered params: ``` def dumper(bnd) puts bnd.local_variable_get('_1') puts bnd.eval '_1 * 10' end [1,2].each do some = _1 # without this line even local_variable_get won't work, still it may be in any place of block dumper(binding) end ``` But `eval` wont ever work and this necessity for using `_1` so binding could see it may be confusing as well. -- https://bugs.ruby-lang.org/ Unsubscribe: