Ruby string slice index: str[n..infinity]

Ruby string slice index: str[n..infinity]

Use reverse indexing:

[1..-1]

An element in Ruby (and some other languages) has straight forward index and a reversed one. So, string with length n has 0..(n-1) and additional (-n)..-1 indexes, but no more — you cant use >=n or <-n indexes.

  i n|A u s t i n|A u s t i n|A u s
  -8  -7  -6  -5  -4  -3  -2  -1   0   1   2   3   4   5   6   7   8 
<- error |                you can use this               | error ->

Use -1 🙂

Austin[1..-1] # => ustin

Ruby string slice index: str[n..infinity]

Pretty elegant using the endless range introduced in Ruby 2.6:

string = Austin
string[1..] # => ustin

Hope thats handy for someone. Cuts a couple of characters from the best approach until now, and will be very readable once endless ranges are regularly adopted.

Leave a Reply

Your email address will not be published. Required fields are marked *