[Ruby]countメソッドの使い方を現役エンジニアがまとめてみた

countメソッドとは、ざっくり言うと「数える」ことに特化したメソッドで、役割としては大きく2つに分けられる。

要素の合計をカウントする

例)配列の中に特定の要素がいくつあるのか数える

lotte = ["ogino", "fujiwara", "nakamura", "yasuda", "ogino", "yamaguchi"]

lotte.count

=> 6

一致する要素をカウントする

配列の場合

lotte = ["ogino", "fujiwara", "nakamura", "yasuda", "ogino", "yamaguchi"]

lotte.count("ogino")

=> 2
numbers = [1,2,3,2,2,3,3,2,3,4]

numbers.count(3)

=> 4

*計算結果に一致したものを出力することも可能

numbers = [1,2,3,2,2,3,3,2,3,4]

numbers.count{|n| n/2 ==2 }

=> 1

文字列の場合

string = "千葉ロッテマリーンズは千葉の球団で、佐々木千隼がセットアッパーです。"

string.count("千")

=> 3

*”千葉”を取り出したい!

string = "千葉ロッテマリーンズは千葉の球団で、佐々木千隼がセットアッパーです。"

string.count("千葉")

=> 5

↑”千葉”で取り出したいのに、”千”,”葉”,をカウントしてしまっている、、

そんな時は、、、scanで文字指定lengthで指定した文字をカウントしてもらう!

string = "千葉ロッテマリーンズは千葉の球団で、佐々木千隼がセットアッパーです。"

string.scan("千葉")

=> ["千葉", "千葉"]


string.scan("千葉").length

=> 2
タイトルとURLをコピーしました