Menu
CoddyTech

Phương thức Include?

Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 72 trên 88.

Khi làm việc với mảng (array), bạn thường cần kiểm tra xem có phần tử cụ thể nào tồn tại hay không trước khi thực hiện một hành động. Phương thức include? của Ruby trả lời trực tiếp câu hỏi này bằng cách trả về true hoặc false.

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

puts fruits.include?("banana")  # Đầu ra: true
puts fruits.include?("grape")   # Đầu ra: false

Phương thức này kiểm tra xem có khớp chính xác hay không, vì vậy chuỗi có phân biệt chữ hoa chữ thường:

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

puts colors.include?("Red")  # In ra: true
puts colors.include?("red")  # In ra: false

Phương thức này đặc biệt hữu ích trong các câu lệnh điều kiện (conditional statement). Thay vì lặp qua một mảng để tìm một phần tử, bạn chỉ cần kiểm tra xem phần tử đó có trong mảng hay không:

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

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

Phương thức include? hoạt động với mọi kiểu dữ liệu được lưu trong mảng, bao gồm số, ký hiệu và cả các mảng khác.

challenge icon

Thử thách

Dễ

Đọc hai dòng đầu vào:

  1. Danh sách các mặt hàng có sẵn trong cửa hàng, dưới dạng các chuỗi được phân tách bằng dấu phẩy (ví dụ: apple,banana,orange,milk,bread)
  2. Danh sách các mặt hàng trong danh sách mua sắm của bạn, dưới dạng các chuỗi được phân tách bằng dấu phẩy (ví dụ: banana,eggs,milk,cheese)

Với mỗi mặt hàng trong danh sách mua sắm của bạn, hãy kiểm tra xem mặt hàng đó có trong cửa hàng bằng phương thức include? hay không. In ra từng mặt hàng, theo sau là Available hoặc Not available, tùy thuộc vào việc mặt hàng đó có trong kho của cửa hàng hay không.

Hãy nhớ rằng include? kiểm tra kết quả khớp chính xác, vì vậy phép so sánh có phân biệt chữ hoa chữ thường.

Ví dụ: nếu đầu vào là apple,banana,orange,milk,bread và banana,eggs,milk,cheese, đầu ra sẽ là:

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

Nếu đầu vào là Red,Green,Blue và red,Green,Yellow, đầu ra sẽ là:

red - Not available
Green - Available
Yellow - Not available

Nếu đầu vào là coffee,tea,juice và coffee,water,tea, đầu ra sẽ là:

coffee - Available
water - Not available
tea - Available

Nếu đầu vào là pen,pencil,eraser và pen, đầu ra sẽ là:

pen - Available

Tự làm thử

# Đọc danh sách hàng trong cửa hàng (các mặt hàng cách nhau bằng dấu phẩy)
store_items = gets.chomp.split(",")

# Đọc danh sách mua sắm (các mặt hàng cách nhau bằng dấu phẩy)
shopping_list = gets.chomp.split(",")

# TODO: Viết code bên dưới
# Với mỗi mặt hàng trong danh sách mua sắm, kiểm tra xem cửa hàng có mặt hàng đó không
# bằng phương thức (method) include? rồi in ra kết quả
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Ruby online