LoginSignup
11
6

More than 5 years have passed since last update.

便利なruby関数each_slice

Posted at

配列に対して、数項目ごとにグループ化してから何かの処理を行いたいときに、each_slice関数がぴったりです。

each_sliceメソッドは、引数nで指定した数の要素を繰り返し取り出して、ブロックを実行します。ブロック引数arrには、取り出した要素が配列で入ります。
要素数がnで割り切れないときは、最後に余りの要素を取り出します。nの数が要素数より大きいときは、すべての要素を取り出してブロックを1度だけ実行します。

(1..8).each_slice(3).map {|arr| arr }
=> [[1, 2, 3], [4, 5, 6], [7, 8]]
11
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6