履歴のように後ろの一定個だけ残してあとは削除するということをやりたかったので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]