https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112019-06-12T09:55:21ZRuby Issue Tracking SystemRuby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=784752019-06-12T09:55:21Zsawa (Tsuyoshi Sawada)
<ul></ul><p>What is the use case? And how do you want it to be made possible?</p> Ruby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=784772019-06-12T12:13:30Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul></ul><blockquote>
<p>What is the use case?</p>
</blockquote>
<p>OP says a debugger. The motivation looks reasonable to me.</p>
<blockquote>
<p>And how do you want it to be made possible?</p>
</blockquote>
<p>I think it would be technically possible.</p>
<p>If this ticket is accepted, <code>Binding#local_variables</code> should include numbered parameters. It might be good to allow a symbol like <code>:@1</code>.</p>
<p>(I'm negative against numbered parameters themselves, though.)</p> Ruby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=807362019-08-14T03:59:13Zhanachin (Seiei Miyagi)hanachin@gmail.com
<ul></ul><p>When I debug a proc which use the numbered parameters, I can not inspect the numbered parameters.<br>
Because irb use Binding to evaluate input but the numbered parameters can not get from binding.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">square</span> <span class="o">=</span> <span class="o">-></span> <span class="p">{</span>
<span class="nb">binding</span><span class="p">.</span><span class="nf">irb</span>
<span class="err">@</span><span class="mi">1</span> <span class="o">*</span> <span class="err">@</span><span class="mi">1</span>
<span class="p">}</span>
<span class="n">square</span><span class="p">[</span><span class="nb">rand</span><span class="p">(</span><span class="mi">100</span><span class="p">)]</span>
</code></pre>
<pre><code>% ruby foo.rb
From: foo.rb @ line 2 :
1: square = -> {
=> 2: binding.irb
3: @1 * @1
4: }
5: square[rand(100)]
irb(main):001:0> @1
Traceback (most recent call last):
3: from foo.rb:5:in `<main>'
2: from foo.rb:2:in `block in <main>'
1: from <internal:prelude>:206:in `irb'
SyntaxError ((irb):1: numbered parameter outside block)
</code></pre>
<p>I need to give a name to the numbered parameters to inspect value.<br>
It doesn't make sense.</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="n">square</span> <span class="o">=</span> <span class="o">-></span> <span class="p">{</span>
<span class="n">v</span> <span class="o">=</span> <span class="err">@</span><span class="mi">1</span>
<span class="nb">binding</span><span class="p">.</span><span class="nf">irb</span>
<span class="err">@</span><span class="mi">1</span> <span class="o">*</span> <span class="err">@</span><span class="mi">1</span>
<span class="p">}</span>
<span class="n">square</span><span class="p">[</span><span class="nb">rand</span><span class="p">(</span><span class="mi">100</span><span class="p">)]</span>
</code></pre> Ruby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=809312019-08-23T04:41:03Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>File</strong> <a href="/attachments/8006">local_variable_get-for-numparam.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/8006/local_variable_get-for-numparam.patch">local_variable_get-for-numparam.patch</a> added</li></ul><p>Here is an experimental patch.</p> Ruby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=809352019-08-23T07:54:43Zsawa (Tsuyoshi Sawada)
<ul><li><strong>Subject</strong> changed from <i>`@1` cannot get from meta-programming</i> to <i>`@1` cannot be achieved in meta-programming</i></li><li><strong>Description</strong> updated (<a title="View differences" href="/journals/80935/diff?detail_id=54462">diff</a>)</li></ul> Ruby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=809372019-08-23T15:21:53Znobu (Nobuyoshi Nakada)nobu@ruby-lang.org
<ul></ul><p>I'm negative to add <code>ID_NUMPARAM</code>.<br>
As <code>rb_is_numparam_id</code> is not used, and <code>rb_is_numparam_name</code> can be implemented without <code>rb_symname_type</code>.</p> Ruby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=832912019-12-20T14:10:30Zznz (Kazuhiro NISHIYAMA)
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>I think this issue resolved by changing from <code>@1</code> to <code>_1</code>.</p> Ruby master - Feature #15915: `@1` cannot be achieved in meta-programminghttps://bugs.ruby-lang.org/issues/15915?journal_id=980902022-06-17T13:46:18Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-6 priority-4 priority-default closed" href="/issues/18837">Bug #18837</a>: Not possible to evaluate expression with numbered parameters in it</i> added</li></ul>