Sé que puedo escribir una declaración de caso Ruby para verificar una coincidencia con una expresión regular. Sin embargo, me gustaría utilizar los datos de coincidencia en mi declaración de devolución. Algo como este semi-pseudocódigo:¿Cómo escribir una declaración de cambio de Ruby (caso ... cuándo) con expresiones regulares y referencias retrospectivas?
foo = "10/10/2011"
case foo
when /^([0-9][0-9])/
print "the month is #{match[1]}"
else
print "something else"
end
¿Cómo puedo lograr eso?
Gracias!
Sólo una nota: entiendo que no me ha consumido alguna vez una sentencia switch para un caso sencillo que el anterior, pero eso es sólo un ejemplo. En realidad, lo que estoy tratando de lograr es la coincidencia de muchas expresiones regulares potenciales para una fecha que se puede escribir de varias maneras, y luego analizarla con la clase Date de Ruby en consecuencia.
Ruby's Date.parse entiende muchos formatos de fecha. ¿Lo has probado? – raine
Aunque no responde a esta pregunta, es posible que desee ver la joya crónica ... – DGM