quisiera acceder a la expresión declaraciones de casos dentro de un entonces cláusula es decir¿Hay alguna forma de acceder a la expresión desde dentro de una declaración de ruby?
food = "cheese"
case food
when "dip" then "carrot sticks"
when "cheese" then "#{expr} crackers"
else
"mayo"
end
donde en este caso expr sería el valor actual de los alimentos. En este caso, sé que podría simplemente acceder a la comida variable, sin embargo, puede haber casos en que el valor ya no sea accesible (cambio de matriz, etc.). Además de mover el expr a una variable local y luego acceder a él, ¿hay alguna forma de acceder directamente al valor de los casos expr?
Roja
p.s. Sé que este ejemplo específico es trivial, es un escenario de ejemplo harinoso.
Hmm estoy pensando que esto es de hecho, la vergüenza del "camino" termina siendo asignada a un mundo global: S ¡Mucho aprecio la incitación! –
'x' aquí puede ser una variable de cualquier alcance. Solo se asigna a un global si lo asignas a un global. Este todo en ruby, el estado del estado del caso devuelve un valor. Usted simplemente y opcionalmente captura ese valor en una variable de su elección. –
Esto solo parece funcionar si está usando la coincidencia, entonces $ 1 es el resultado de la coincidencia. Si no usa el emparejamiento, la respuesta de Wayne Conrad es mejor y más clara. – Josh