count_hiメソッドを実装。
- 対象となる文字列の中から、"hi"という特定の文字列の数を取得すること
- 上記で取得した数を出力すること
雛形
def count_hi(str)
# 処理を記述
end
# 呼び出し例(引数には対象となる文字列を指定します)
count_hi('abc hi ho')
出力例
count_hi('abc hi ho') → 1
count_hi('ABChi hi') → 2
count_hi('hihi') → 2
scanメソッド
scanメソッドは、対象の要素から引数で指定した文字列を数え、配列として返すメソッドです。
例
1 "foobarbazfoobarbaz".scan("ba")
2 => ["ba", "ba", "ba", "ba"]
"hi"という文字列がいくつあるか数えて、それを返すよう記述していきます。
回答(途中)
def count_hi(str)
puts str.scan("hi")
end
# 呼び出し例
count_hi('abc hi ho')
2行目に注目すると、count_hiメソッドの仮引数strに格納されている文字列"hi"を取り出すような記述をしています。
この状態では、解答としてふさわしくありません。
問題は、「"hi"という文字列がいくつあるのか」ということなので。
そこで、要素の数を数えてもらうためにlengthメソッドを使います。
回答
def count_hi(str)
puts str.scan("hi").length
end
# 呼び出し例
count_hi('abc hi ho')
1
"hi"の数は1つなので、1が返ってきました。