[Ruby]dorill76

プログラミング

問題

任意の文字列で
“hi”がいくつあるか数えてその数を出力するメソッドを作りましょう。

出力例
count_hi('abc hi ho') → 1
count_hi('ABChi hi') → 2
count_hi('hihi') → 2

自分の回答

def count_hi(word)
  p word.scan('hi').length
end

word = "ABChi hi"
count_hi(word)

countを使えばいいと思うかもしれませんが、countは複数文字は正確にカウントできません。なので、複数文字の時は、scanを使いましょう。

def count_hi(word)
  p word.count('hi')
end

word = "ABChi hi"
count_hi(word)

=> 4

おそらくhで2、iで2合わせて4と出力されてしまいます。

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