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? 方法适用于数组中存储的任何数据类型,包括数字、符号,甚至其他数组。
挑战
简单读取两行输入:
- 商店中可购买商品的列表,商品以逗号分隔(例如:
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亲手试试
# 读取商店库存(商品用逗号分隔)
store_items = gets.chomp.split(",")
# 读取购物清单(商品用逗号分隔)
shopping_list = gets.chomp.split(",")
# TODO: 在下方编写你的代码
# 检查购物清单中的每件商品是否在商店有售
# 使用 include? 方法并打印结果这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Ruby 在线编译器