Я знаю, что могу написать оператор case на Ruby, чтобы проверять соответствие регулярным выражениям. Однако я хотел бы использовать данные совпадения в моем операторе возврата. Что-то вроде этого полу-псевдокода:
foo = "10/10/2011"
case foo
when /^([0-9][0-9])/
print "the month is #{match[1]}"
else
print "something else"
end
Как я могу этого добиться?
Благодарность!
Просто примечание: я понимаю, что я бы никогда не использовал оператор switch для простого случая, как указано выше, но это только один пример. На самом деле то, что я пытаюсь достичь, - это сопоставление многих потенциальных регулярных выражений для даты, которые могут быть записаны различными способами, и последующий их анализ с помощью класса Date Ruby.