Menu
CoddyTech

If else lồng nhau

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 24 trên 88.

Nếu bạn cần kiểm tra nhiều hơn hai điều kiện thì sao? Bạn có thể đặt một câu lệnh if-else bên trong một câu lệnh if-else khác. Đây gọi là lồng nhau, giúp bạn xử lý nhiều điểm cần đưa ra quyết định.

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Ruby kiểm tra điều kiện đầu tiên. Nếu điều kiện đó sai, Ruby chuyển đến khối lệnh else, nơi có một câu lệnh if-else khác đang chờ. Cách này tạo thành một chuỗi quyết định, mỗi quyết định thu hẹp các khả năng.

Ruby cung cấp một cách viết gọn gàng hơn bằng elsif, kết hợp else và if thành một từ khóa:

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

Cả hai ví dụ đều cho ra cùng một kết quả, nhưng elsif giúp code của bạn gọn hơn và dễ đọc hơn. Bạn có thể nối bao nhiêu điều kiện elsif tùy ý, còn else cuối cùng sẽ xử lý mọi trường hợp không khớp với các điều kiện trước đó.

challenge icon

Thử thách

Dễ

Bạn được cung cấp biến sau:

temperature = 15

Tạo một hệ thống thông báo thời tiết bằng cách dùng if, elsif và else để phân loại nhiệt độ và in ra thông báo phù hợp:

  • Nếu temperature lớn hơn hoặc bằng 30, in ra Hot - Stay hydrated
  • Nếu temperature lớn hơn hoặc bằng 20, in ra Warm - Enjoy the day
  • Nếu temperature lớn hơn hoặc bằng 10, in ra Cool - Bring a jacket
  • Nếu temperature lớn hơn hoặc bằng 0, in ra Cold - Bundle up
  • Nếu không, in ra Freezing - Stay indoors

Chỉ xuất ra thông báo duy nhất phù hợp với nhiệt độ.

Tự làm thử

temperature = 15

# TODO: Viết code bên dưới để phân loại nhiệt độ
# Dùng if, elsif và else để in ra thông báo tư vấn thời tiết phù hợp
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