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
endRuby 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"
endCả 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 đó.
Thử thách
DễBạn được cung cấp biến sau:
temperature = 15Tạ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
temperaturelớn hơn hoặc bằng30, in raHot - Stay hydrated - Nếu
temperaturelớn hơn hoặc bằng20, in raWarm - Enjoy the day - Nếu
temperaturelớn hơn hoặc bằng10, in raCool - Bring a jacket - Nếu
temperaturelớn hơn hoặc bằng0, in raCold - 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ợpBà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
4Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử logic phần 42Biến và kiểu dữ liệu
Số và biếnKiểu dữ liệu chuỗiKiểu dữ liệu BooleanKiểu dữ liệu SymbolKiểm tra kiểu dữ liệuQuy ước đặt tênÔn tập: tạo biến8Vòng lặp
Vòng lặp for với khoảng giá trịVòng lặp whileThoátTiếp tụcÔn tập: giai thừaVòng lặp timesVòng lặp untilVòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnÔn tập: Toán cơ bảnToán tử so sánh6Nhập xuất cơ bản
In ra bằng putsIn ra bằng print và pIn ra bằng biếnNhập dữ liệu bằng getsPhương thức chompChuyển đổi kiểu dữ liệuÔn tập: Tính tuổiÔn tập: Đúng hay sai9Phương thức
Định nghĩa phương thứcTham số phương thứcGiá trị trả vềÔn tập: phương thức SigmaÔn tập: phương thức xác thựcGiá trị tham số mặc định15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trìnhTự luyện tập: Trình biên dịch Ruby online