ruby 配列内にある要素それぞれに条件を指定して結果をカウントする

ruby 配列内にある要素それぞれに条件を指定して結果をカウントする

Rubyで、配列内にある要素それぞれに条件を指定して結果をカウントするソースコードを記述してます。「map」と「tally」を使用します。

環境

  • OS windows11 home
  • ruby 3.1.2p20

配列内にある要素それぞれに条件を指定して結果をカウント

配列内にある要素それぞれに条件を指定して結果をカウントするには、「map」で条件を指定して、「tally」を使用します。

配列.map { 条件 }.tally

戻り値は「hash」となります

実際に使用してみます。

p [ 1, 1, 5, 5, 6 ].map { |x| x > 2 }.tally
# {false=>2, true=>3}

p [ "a", "b", "b", "b", "c" ].map { |x| x == "b" }.tally
# {false=>2, true=>3}

カウントされていることが確認できます。

空の配列

空の配列の場合は、空のハッシュが返ります。

p [].map { |x| x > 2 }.tally
# {}