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

挑战

简单

读取两行输入:

  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 在线编译器