Ruby 配列を後ろから指定した単位で分割する

Rubyで、配列を後ろから指定した単位で分割するソースコードを記述してます。「reverse」と「each_slice」と「collect」を使用することで可能です。
環境
- OS windows11 home
- ruby 3.1.3p185
配列を後ろから指定した単位で分割
配列を後ろから指定した単位で分割するには、「reverse.each_slice().collect(&:reverse)」を使用します。
配列.reverse.each_slice(分割単位).collect(&:reverse)
実際に使用してみます。
arr = [1, 2, 3, 4, 5]
p arr.reverse.each_slice(2).collect(&:reverse)
# [[4, 5], [2, 3], [1]]
p arr.reverse.each_slice(3).collect(&:reverse)
# [[3, 4, 5], [1, 2]]
p arr
# [1, 2, 3, 4, 5]
取得されていることが確認できます。
「1」を指定すると、1つずつ取得されます。
arr = [1, 2, 3, 4, 5]
p arr.reverse.each_slice(1).collect(&:reverse)
# [[5], [4], [3], [2], [1]]
p arr
# [1, 2, 3, 4, 5]
最大値を超えると、以下の結果となります。
arr = [1, 2, 3, 4, 5]
p arr.reverse.each_slice(6).collect(&:reverse)
# [[1, 2, 3, 4, 5]]
p arr
# [1, 2, 3, 4, 5]
0を指定
「0」を指定するとエラーが発生します。
arr = [1, 2, 3, 4, 5]
p arr.reverse.each_slice(0).collect(&:reverse)
# `each_slice': invalid slice size (ArgumentError)
空の配列
空の場合は、全て空が返ります。
arr = []
p arr.reverse.each_slice(1).collect(&:reverse)
# []
p arr.reverse.each_slice(2).collect(&:reverse)
# []
p arr
# []
-
前の記事
Google ドキュメント 下線に変換するショートカットキー 2023.01.05
-
次の記事
Oracle Database データを更新する 2023.01.06
コメントを書く