Câu Lệnh Điều Kiện Trong Ruby

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 3 tháng 2, 2025

Trong lập trình Ruby, câu lệnh điều kiện được sử dụng để kiểm tra và thực thi các mã lệnh dựa trên điều kiện xác định. Ruby hỗ trợ ba câu lệnh điều kiện phổ biến: if, unless, và case. Mỗi loại câu lệnh có cách sử dụng và ứng dụng riêng biệt, giúp bạn viết mã linh hoạt và dễ hiểu.

1. Câu Lệnh if

Câu lệnh if trong Ruby được sử dụng để kiểm tra điều kiện và thực thi các mã lệnh khi điều kiện đó đúng (truthy). Cấu trúc cơ bản của câu lệnh if như sau:

if điều_kiện
  # mã lệnh thực thi khi điều kiện đúng
end

Ví dụ:

age = 18
if age >= 18
  puts "Bạn đã đủ tuổi trưởng thành."
end

Kết quả sẽ là: "Bạn đã đủ tuổi trưởng thành."

2. Câu Lệnh unless

Câu lệnh unless là câu lệnh đối lập với if. Nó chỉ thực thi mã lệnh khi điều kiện là sai (falsy). Đây là cách viết dễ hiểu để kiểm tra điều kiện không đúng.

unless điều_kiện
  # mã lệnh thực thi khi điều kiện sai
end

Ví dụ:

age = 16
unless age >= 18
  puts "Bạn chưa đủ tuổi trưởng thành."
end

Kết quả sẽ là: "Bạn chưa đủ tuổi trưởng thành."

3. Câu Lệnh if/else

Câu lệnh if kết hợp với else cho phép bạn xử lý các trường hợp khi điều kiện không đúng. Đây là một cách để cung cấp lựa chọn khác khi điều kiện kiểm tra không thỏa mãn.

if điều_kiện
  # mã lệnh khi điều kiện đúng
else
  # mã lệnh khi điều kiện sai
end

Ví dụ:

age = 15
if age >= 18
  puts "Bạn đủ tuổi trưởng thành."
else
  puts "Bạn chưa đủ tuổi trưởng thành."
end

Kết quả sẽ là: "Bạn chưa đủ tuổi trưởng thành."

4. Câu Lệnh elsif

Khi bạn cần kiểm tra nhiều điều kiện khác nhau, elsif giúp bạn kiểm tra một loạt các điều kiện. Đây là cách để kiểm tra các giá trị thay vì chỉ một điều kiện duy nhất.

if điều_kiện_1
  # mã lệnh khi điều kiện 1 đúng
elsif điều_kiện_2
  # mã lệnh khi điều kiện 2 đúng
else
  # mã lệnh khi tất cả điều kiện đều sai
end

Ví dụ:

age = 16
if age >= 18
  puts "Bạn đủ tuổi trưởng thành."
elsif age >= 16
  puts "Bạn đã đủ tuổi lái xe."
else
  puts "Bạn chưa đủ tuổi để lái xe."
end

Kết quả sẽ là: "Bạn đã đủ tuổi lái xe."

5. Câu Lệnh case

Câu lệnh case trong Ruby giúp bạn kiểm tra một giá trị so với nhiều giá trị khác nhau, tương tự như câu lệnh switch trong các ngôn ngữ khác. Câu lệnh này giúp việc kiểm tra nhiều trường hợp trở nên dễ dàng và gọn gàng.

case giá_trị
when giá_trị_1
  # mã lệnh nếu giá trị bằng giá_trị_1
when giá_trị_2
  # mã lệnh nếu giá trị bằng giá_trị_2
else
  # mã lệnh nếu không có giá trị nào khớp
end

Ví dụ:

day = "Monday"
case day
when "Monday"
  puts "Hôm nay là thứ Hai."
when "Tuesday"
  puts "Hôm nay là thứ Ba."
else
  puts "Ngày không xác định."
end

Kết quả sẽ là: "Hôm nay là thứ Hai."

6. Câu Lệnh Điều Kiện Rút Gọn

Ruby cho phép bạn viết câu lệnh điều kiện trong một dòng nếu mã lệnh chỉ có một câu duy nhất. Cách viết này giúp mã ngắn gọn hơn và dễ đọc hơn trong một số trường hợp đơn giản.

if rút gọn:

puts "Bạn đủ tuổi trưởng thành." if age >= 18

unless rút gọn:

puts "Bạn chưa đủ tuổi trưởng thành." unless age >= 18

7. Ternary Operator (Câu Lệnh Điều Kiện Ba Phần)

Câu lệnh điều kiện ba phần (ternary operator) là một cách rút gọn của if/else, rất hữu ích khi bạn chỉ cần lựa chọn giữa hai giá trị.

condition ? giá_trị_nếu_đúng : giá_trị_nếu_sai

Ví dụ:

age = 20
puts age >= 18 ? "Bạn đủ tuổi trưởng thành." : "Bạn chưa đủ tuổi trưởng thành."

Kết quả sẽ là: "Bạn đủ tuổi trưởng thành."

Kết luận

Các câu lệnh điều kiện trong Ruby rất đa dạng và linh hoạt, giúp bạn xử lý các tình huống khác nhau trong lập trình. Từ các câu lệnh đơn giản như if, unless đến các câu lệnh phức tạp hơn như case hay elsif, Ruby cung cấp các công cụ mạnh mẽ để kiểm tra và xử lý điều kiện một cách dễ dàng và hiệu quả.

Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ