LoginSignup
2

More than 3 years have passed since last update.

scanメソッド問題

Posted at

問題

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

出力例

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

scanを使う

scanは、対象の要素から引数で指定した文字列を検索して配列として返すメソッドです。

scanの使い方

正規表現と使う場合がほとんどですが、正規表現でなくても文字列を検索して配列として返したい場合にも使うことができます。

記述方法は、オブジェクト.scan(正規表現)という書き方をします。

問題の回答

qiita.rb
def count_hi(str)
  puts str.scan("hi").length
end

引数strにscanメソッドを使用する。
今回は"hi"がいくつあるかを数えたいので、文字列の長さと配列の長さを調べるためのメソッドであるlengthメソッドを用いて出力する。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2