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