https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2016-04-26T02:27:31Z
Ruby Issue Tracking System
Ruby master - Feature #12318: Returning the evaluated value of a block
https://bugs.ruby-lang.org/issues/12318?journal_id=58316
2016-04-26T02:27:31Z
nobu (Nobuyoshi Nakada)
nobu@ruby-lang.org
<ul></ul><p>It doesn't seem generic enough to be defined in <code>Enumerator</code>.<br>
The receiver enumerator may return different object than its elements nor the results of the given block, whereas that <code>and_return</code> has to manage the association of them.</p>
<p>Why not simpler:</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="p">[</span><span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">,</span> <span class="mi">9</span><span class="p">].</span><span class="nf">map</span> <span class="p">{</span><span class="o">|</span><span class="n">e</span><span class="o">|</span> <span class="n">e</span> <span class="o">%</span> <span class="mi">3</span><span class="p">}.</span><span class="nf">max</span>
<span class="c1"># => 2</span>
</code></pre>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="p">[</span><span class="s2">"foo"</span><span class="p">,</span> <span class="s2">"bar"</span><span class="p">,</span> <span class="s2">"baz"</span><span class="p">].</span><span class="nf">find</span> <span class="p">{</span><span class="o">|</span><span class="n">e</span><span class="o">|</span> <span class="k">break</span> <span class="n">e</span> <span class="k">if</span> <span class="n">e</span> <span class="o">=</span> <span class="n">e</span><span class="p">[</span><span class="sr">/(.)\1/</span><span class="p">]}</span>
<span class="c1"># => "oo"</span>
</code></pre>
<p>or</p>
<pre><code class="ruby syntaxhl" data-language="ruby"><span class="p">[</span><span class="s2">"foo"</span><span class="p">,</span> <span class="s2">"bar"</span><span class="p">,</span> <span class="s2">"baz"</span><span class="p">].</span><span class="nf">grep</span><span class="p">(</span><span class="sr">/(.)\1/</span><span class="p">)</span> <span class="p">{</span><span class="k">break</span> <span class="vg">$&</span><span class="p">}</span>
<span class="c1"># => "oo"</span>
</code></pre>
Ruby master - Feature #12318: Returning the evaluated value of a block
https://bugs.ruby-lang.org/issues/12318?journal_id=68575
2017-12-21T06:15:11Z
avit (Andrew Vit)
andrew@avit.ca
<ul></ul><p>This is now implemented as <code>yield_self</code></p>
<p>Close please?</p>
Ruby master - Feature #12318: Returning the evaluated value of a block
https://bugs.ruby-lang.org/issues/12318?journal_id=68576
2017-12-21T07:27:18Z
shyouhei (Shyouhei Urabe)
shyouhei@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>avit (Andrew Vit) wrote:</p>
<blockquote>
<p>This is now implemented as <code>yield_self</code></p>
<p>Close please?</p>
</blockquote>
<p>Yes. Closing.</p>