Tôi biết rằng tôi có thể viết một câu lệnh trường hợp Ruby để kiểm tra sự khớp với một biểu thức chính quy. Tuy nhiên, tôi muốn sử dụng dữ liệu đối sánh trong câu lệnh trả về của mình. Một cái gì đó giống như mã bán giả này:
foo = "10/10/2011"
case foo
when /^([0-9][0-9])/
print "the month is #{match[1]}"
else
print "something else"
end
Làm thế nào tôi có thể đạt được điều đó?
Cảm ơn!
Chỉ cần lưu ý: Tôi hiểu rằng tôi sẽ không bao giờ sử dụng câu lệnh switch cho một trường hợp đơn giản như trên, nhưng đó chỉ là một ví dụ. Trên thực tế, những gì tôi đang cố gắng đạt được là sự kết hợp của nhiều cụm từ thông dụng tiềm năng cho một ngày có thể được viết theo nhiều cách khác nhau, sau đó phân tích cú pháp nó với lớp Ngày của Ruby cho phù hợp.