RubyのRangeオブジェクトについて(ドット2つ、ドット3つの用法)

ちゃんと把握していなくて引っかかったのでメモ

..と...

そもそもこの二種類ということをちゃんと把握していなかった 汗 この2つの違いは右側の数値を含むか否か

(1 .. 10).each {|i| puts i}
=> 1 2 3 4 5 6 7 8 9 10
(1 ... 10).each {|i| puts i}
=> 1 2 3 4 5 6 7 8 9

..なら10を含み、...は10を含まない。

...の用法

あるリストに対して途中から最後の要素までのそれぞれの要素を処理したいとき有用そう

(1 .. 10).each do |i|
  array[i] += 1
end

とか