Soy bastante nuevo para Ruby and Rails, pero incluso después de buscar el desbordamiento de pila y google no pude encontrar una respuesta a esto.Expresión ternaria con "definido?" devuelve "expresión" en lugar de valor?
Tengo un simple abreviatura Rubí si la declaración que debe devolver un integer
así:
# in the context of this erb document `amount` is defined as 5.
@c = (defined? amount ? amount : r(1,4))
r()
es una función de ayuda personalizado que devuelve un número aleatorio entre en este caso 1 y 4.
la forma en que la intención que esto funcione es que se define if
amount
, a continuación, utilizar el número definido como amount
, else
generar un número aleatorio entre 1 y 4 y el uso que en lugar.
Al imprimir @c
, sin embargo, las salidas de Ruby expression
en lugar de un número.
¿Qué tengo que hacer para que esto funcione como me propuse y qué estoy haciendo mal?
Muchas gracias por leerlo!
Perfecto, muchas gracias! Obviamente todavía tengo que aprender más sobre estos conceptos básicos, pero esta ha sido una gran ayuda 'cantidad || r (x, y) 'funciona exactamente como yo quería y está todo en menos caracteres al mismo tiempo. – Jannis