Khóa học ruby

Cấu trúc case when trong Ruby

0 phút đọc

Trong lập trình Ruby, cấu trúc điều khiển case (hay còn gọi là switch case trong một số ngôn ngữ lập trình khác) là một công cụ mạnh mẽ cho phép bạn thực hiện các hành động khác nhau dựa trên giá trị của một biến hoặc biểu thức. Cấu trúc này giúp làm giảm số lượng câu lệnh if-else cần thiết và làm cho code của bạn trở nên gọn gàng và dễ đọc hơn

Cơ Bản về Cấu Trúc case

Cấu trúc case trong Ruby cho phép bạn so sánh một biến với một loạt các giá trị hoặc điều kiện khác nhau. Mỗi điều kiện được xác định bởi một câu lệnh when, và Ruby sẽ thực thi code trong khối when đầu tiên mà giá trị của biến khớp với điều kiện

Cú pháp

Cú pháp cơ bản của cấu trúc case trong Ruby là:

case biến
when giá_trị_1
  # Code thực thi khi biến == giá_trị_1
when giá_trị_2
  # Code thực thi khi biến == giá_trị_2
else
  # Code thực thi khi không có giá trị nào khớp
end

Trong đó biến là biến cần kiểm tra, giá_trị_1, giá_trị_2,... là các giá trị để so sánh với biến, và else là phần code thực thi nếu không có điều kiện nào khớp

Ví dụ Đơn Giản

Giả sử bạn muốn in ra một thông báo dựa trên giá trị của biến thời_tiết:

thời_tiết = 'nắng'

case thời_tiết
when 'mưa'
  puts 'Mang ô'
when 'nắng'
  puts 'Đội mũ'
else
  puts 'Thời tiết bình thường'
end

Trong ví dụ này, chương trình sẽ in ra "Đội mũ" vì giá trị của biến thời_tiết là 'nắng'[1].

Sử Dụng Nâng Cao

Sử Dụng Regex và Ranges

Ruby cho phép sử dụng regex và ranges trong các câu lệnh when. Điều này làm cho cấu trúc case trở nên cực kỳ linh hoạt:

tuổi = 25

case tuổi
when 0..17
  puts 'Bạn còn trẻ'
when 18..64
  puts 'Bạn đã trưởng thành'
else
  puts 'Bạn đã nghỉ hưu'
end

Trong ví dụ này, chương trình sẽ in ra "Bạn đã trưởng thành" vì tuổi rơi vào khoảng từ 18 đến 64

Sử Dụng Procs và Lambdas

Bạn cũng có thể sử dụng procs và lambdas trong các câu lệnh when, điều này cho phép bạn thực hiện các kiểm tra phức tạp hơn:

số = 6

chẵn = ->(x) { x % 2 == 0 }
lẻ = ->(x) { x % 2 != 0 }

case số
when chẵn
  puts 'Số chẵn'
when lẻ
  puts 'Số lẻ'
end

Ở đây, chẵnlẻ là các lambdas được định nghĩa để kiểm tra số chẵn và số lẻ. Chương trình sẽ in ra "Số chẵn" vì 6 là một số chẵn[7].

Kết Luận

Cấu trúc case trong Ruby là một công cụ mạnh mẽ và linh hoạt, cho phép bạn xử lý nhiều điều kiện một cách gọn gàng và hiệu quả. Bằng cách sử dụng các tính năng như ranges, regexes, procs, và lambdas, bạn có thể xử lý các tình huống phức tạp mà không cần viết nhiều câu lệnh if-else. Hy vọng qua bài viết này, bạn đã có thể hiểu rõ hơn về cách sử dụng cấu trúc case trong Ruby và áp dụng nó vào các dự án của mình một cách hiệu quả.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

entry

Bạn có thể giải thích sự khác nhau giữa cấu trúc tập tin và cấu trúc lưu trữ?

entry

Trong cấu trúc dữ liệu, chuỗi (String) là gì?

entry

Khi nào sử dụng căn chỉnh trục chính và căn chỉnh trục phụ?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào