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"
endinclude? メソッドは、数値、シンボル、さらには他の配列など、配列に格納されているあらゆるデータ型に対して機能します。
チャレンジ
簡単2行の入力を読み取ります:
- 店にある利用可能なアイテムのリスト。カンマ区切りの文字列として与えられます(例:
apple,banana,orange,milk,bread) - ショッピングリストにあるアイテムのリスト。カンマ区切りの文字列として与えられます(例:
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チートシート
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要素の存在を確認するために、条件文で include? を使用します。
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endinclude? メソッドは、数値、シンボル、配列など、あらゆるデータ型で使用できます。
自分で試してみよう
# 店の在庫(カンマ区切りのアイテム)を読み込む
store_items = gets.chomp.split(",")
# ショッピングリスト(カンマ区切りのアイテム)を読み込む
shopping_list = gets.chomp.split(",")
# TODO: 以下にコードを記述してください
# ショッピングリストの各アイテムについて、店に在庫があるかどうかを
# include? メソッドを使用して確認し、結果を出力しますこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。