目次(まとめ)

  • ◾️ "include" メソッドを使って、設定した配列の中に目的の要素が含まれるか確認する

  • ◾️ 配列の要素の中に、目的の文字が含まれるか確認することもできる


Rubyを使ってプログラミングを始めました。設定した配列の中に、目的の要素が入っているか確認したい場合にはどうしたらいいですか?

Rubyの "include" メソッドを使えば、目的の要素が入っているか確認することができます。

今回の記事では、"include" 関数の使い方を紹介します。

"include" メソッドを使って、設定した配列の中に目的の要素が含まれるか確認する

例えば、"fruits" という配列に、さまざまなフルーツの名前が保存されているとします。

fruits = ["apple", "green apple", "strawberry", "avocado", "orange", "raspberry"]

このように配列が与えられたときに、例えば、配列の中に "coconut" が含まれているか確認するためには、以下のように書きます。

fruits.include?("coconut")

この場合には、"fruits" 変数に含まれている果物の数が少ないので、見れば "coconut" が含まれていないと判断することができますが、「含まれていない」という結果は、以下のように出力させることができます。

p fruits.include?("coconut")   #=> false

もし含まれていれば "true" と表示されますが、ここでは含まれていないので "false" と表示されています。

配列の要素の中に、目的の文字が含まれるか確認することもできる

上の例では、目的の「要素」が含まれているかを確認するために "include" メソッドを使いましたが、"for" 文と組み合わせることで、要素の中から、目的の「文字」が含まれている要素を取り出すことができます。

例えば、以下のようなスクリプト(sample.rb)を書きます。

# sample.rb

fruits = ["apple", "green apple", "strawberry", "avocado", "orange", "raspberry"]

for i in 0..(fruits.size-1) do  
  if fruits[i].include?("l")   # 果物名に "l" という文字が入っているか確認
    p fruits[i]   # "l" が含まれていれば果物名を出力
  end
end

Rubyでは、配列の要素数を "fruits.size" で取得することができ、ここでは "6" という数字が入ります(果物数が6個なので)。

また、Rubyでは、配列の要素に対するインデックスは "0" から割り振られるので、"for" 文では、"0" から "5" 番目の要素(計6個)をみていることになります。

これを実行すると、以下のように出力されます。

$ ruby sample.rb
"apple"
"green apple"

また、複数の条件を考えたい場合には、"||" や "&&" を使います。"||" は "または"、"&&" は "かつ" の意味です。

例えば、以下のようなスクリプト(sample-2.rb)です。

# sample-2.rb

fruits = ["apple", "green apple", "strawberry", "avocado", "orange", "raspberry"]

for i in 0..(fruits.size-1) do  
  if fruits[i].include?("l") && fruits[i].include?("g")   # 果物名に "l" と "g" という文字が入っているか確認
    p fruits[i]   # "l" と "g" が含まれていれば果物名を出力
  end
end

実行すると、以下のように出力されます。

$ ruby sample-2.rb
"green apple"

今回の記事では、ruby初心者向けに "include" メソッドの使い方を紹介しました。文字列からなる配列だけではなく、数値からなる配列に対しても使うことができます。

B!