Rubyで配列のサイズが5個以上の時最後の5個を取り出す

履歴のように後ろの一定個だけ残してあとは削除するということをやりたかったのでRangeオブジェクトを使うことで簡単にできたのでメモ

arr = [1,2,3,4,5,6,7,8,9]
arr[-5..-1] #=> [5, 6, 7, 8, 9]

ただし、5個未満のときはnilが返ってしまうので以下のように使うと良さそうです。

arr = [1,2,3]
arr = arr[-5..-1] if arr.length > 5
arr #=> [1, 2, 3]