Menu
CoddyTech

include? メソッド

CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 72/88。

配列を扱う際、処理を行う前に特定の要素が存在するかどうかを確認する必要がよくあります。Ruby の include? メソッドはこの質問に直接答え、true または false を返します。

fruits = ["apple", "banana", "orange"]

puts fruits.include?("banana")  # 出力: true
puts fruits.include?("grape")   # 出力: false

このメソッドは完全一致を確認するため、文字列では大文字と小文字を区別します:

colors = ["Red", "Green", "Blue"]

puts colors.include?("Red")  # 出力: true
puts colors.include?("red")  # 出力: false

このメソッドは、条件文で特に役立ちます。要素を見つけるために配列をループで調べる代わりに、その要素が含まれているかどうかを簡単に確認できます。

allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"

if allowed_users.include?(current_user)
  puts "Access granted"
else
  puts "Access denied"
end

include?メソッドは、数値やシンボル、さらにはほかの配列を含め、配列に格納されているあらゆるデータ型で使えます。

challenge icon

チャレンジ

簡単

2 行の入力を読み取ります。

  1. 店舗で購入できる商品のリストを、カンマ区切りの文字列で指定します(例:apple,banana,orange,milk,bread)
  2. 買い物リストにある商品のリストを、カンマ区切りの文字列で指定します(例:banana,eggs,milk,cheese)

買い物リストの各商品について、include? メソッドを使って店舗で購入できるか確認してください。店舗の在庫にあるかどうかに応じて、各商品の後に Available または Not available を出力してください。

include? は完全一致をチェックするため、大文字と小文字が区別されることを忘れないでください。

たとえば、入力が apple,banana,orange,milk,bread と banana,eggs,milk,cheese の場合、出力は次のようになります。

banana - Available
eggs - Not available
milk - Available
cheese - Not available

入力が Red,Green,Blue と red,Green,Yellow の場合、出力は次のようになります。

red - Not available
Green - Available
Yellow - Not available

入力が coffee,tea,juice と coffee,water,tea の場合、出力は次のようになります。

coffee - Available
water - Not available
tea - Available

入力が pen,pencil,eraser と pen の場合、出力は次のようになります。

pen - Available

自分で試してみよう

# 店舗の在庫を読み込む(カンマ区切りの商品)
store_items = gets.chomp.split(",")

# 買い物リストを読み込む(カンマ区切りの商品)
shopping_list = gets.chomp.split(",")

# TODO: 以下にコードを書く
# 買い物リストの各商品について、店舗にあるかどうかを確認する
# include? メソッドを使用して結果を出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rubyオンラインコンパイラ