Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

ActiveSupport | Array#in_groups_of

概要

Array#in_groups_of

詳細

Array#in_groups_of について

Array#in_groups_of

第一引数に指定した要素数ごとで配列を分割します。
デフォルトでは、余った要素はnilになります。
第二引数を指定した場合、余った要素に指定した値が設定されます。

サンプル

# encoding: utf-8
require 'active_support/core_ext/array/grouping'
require 'tbpgr_utils'

I18n.enforce_available_locales = true
ary = [*1..5]
bulk_puts_eval binding, <<-EOS
ary.in_groups_of 2
ary.in_groups_of 3
ary.in_groups_of 2, 'default'
EOS

ary.in_groups_of(2) do|first, second|
  puts "#{first}|#{second}"
end

__END__
・下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils

出力

ary.in_groups_of 2 # => [[1, 2], [3, 4], [5, nil]]
ary.in_groups_of 3 # => [[1, 2, 3], [4, 5, nil]]
ary.in_groups_of 2, 'default' # => [[1, 2], [3, 4], [5, "default"]]
1|2
3|4
5|