Skip to content

Commit

Permalink
[skip ci] Update site
Browse files Browse the repository at this point in the history
  • Loading branch information
ci-build committed Jan 13, 2024
1 parent 66bc78b commit 0f82992
Showing 1 changed file with 48 additions and 1 deletion.
49 changes: 48 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -922,6 +922,7 @@ <h1>Ruby Style Guide</h1>
<li><a href="#flat-map"><code>flat_map</code></a></li>
<li><a href="#reverse-each"><code>reverse_each</code></a></li>
<li><a href="#object-yield-self-vs-object-then"><code>Object#yield_self</code> vs <code>Object#then</code></a></li>
<li><a href="#slicing-with-ranges">Slicing with Ranges</a></li>
</ul>
</li>
<li><a href="#numbers">Numbers</a>
Expand Down Expand Up @@ -6411,6 +6412,52 @@ <h3 id="object-yield-self-vs-object-then"><a class="anchor" href="#object-yield-
</table>
</div>
</div>
<div class="sect2">
<h3 id="slicing-with-ranges"><a class="anchor" href="#slicing-with-ranges"></a><a class="link" href="#slicing-with-ranges">Slicing with Ranges</a></h3>
<div class="paragraph">
<p><code>[0..-1]</code> in <code>ary[0..-1]</code> is redundant and simply synonymous with <code>ary</code>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="ruby"><span class="c1"># bad</span>
<span class="n">ary</span><span class="p">[</span><span class="mi">0</span><span class="o">..-</span><span class="mi">1</span><span class="p">]</span>
<span class="n">ary</span><span class="p">[</span><span class="mi">0</span><span class="o">..</span><span class="kp">nil</span><span class="p">]</span>
<span class="n">ary</span><span class="p">[</span><span class="mi">0</span><span class="o">...</span><span class="kp">nil</span><span class="p">]</span>

<span class="c1"># good</span>
<span class="n">ary</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>Ruby 2.6 introduced endless ranges.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="ruby"><span class="c1"># bad</span>
<span class="n">ary</span><span class="p">[</span><span class="mi">1</span><span class="o">..-</span><span class="mi">1</span><span class="p">]</span>
<span class="n">ary</span><span class="p">[</span><span class="mi">1</span><span class="o">..</span><span class="kp">nil</span><span class="p">]</span>

<span class="c1"># good</span>
<span class="n">ary</span><span class="p">[</span><span class="mi">1</span><span class="o">..</span><span class="p">]</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>Ruby 2.7 introduced beginless ranges. But, unlike the somewhat obscure <code>-1</code> in <code>ary[1..-1]</code>, the <code>0</code> in <code>ary[0..42]</code> is clear
as a starting point. In fact, changing it to <code>ary[..42]</code> could potentially make it less readable. Therefore, <code>ary[0..42]</code>
should respect the original programmer&#8217;s intent. On the other hand, <code>ary[nil..42]</code> could be replaced with <code>ary[..42]</code>.
Similarly, <code>ary[1..nil]</code> could be replaced with <code>ary[1..]</code>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="ruby"><span class="c1"># bad</span>
<span class="n">ary</span><span class="p">[</span><span class="kp">nil</span><span class="o">..</span><span class="mi">42</span><span class="p">]</span>

<span class="c1"># good</span>
<span class="n">ary</span><span class="p">[</span><span class="o">..</span><span class="mi">42</span><span class="p">]</span>
<span class="n">ary</span><span class="p">[</span><span class="mi">0</span><span class="o">..</span><span class="mi">42</span><span class="p">]</span></code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
Expand Down Expand Up @@ -8243,7 +8290,7 @@ <h2 id="spread-the-word"><a class="anchor" href="#spread-the-word"></a><a class=
</div>
<div id="footer">
<div id="footer-text">
Last updated 2023-12-16 08:33:41 UTC
Last updated 2024-01-13 06:50:58 UTC
</div>
</div>
</body>
Expand Down

0 comments on commit 0f82992

Please sign in to comment.