Тернарное выражение с «определенным?» Возвращает «выражение» вместо значения?

Я довольно новичок в Ruby и Rails, но даже после поиска переполнения стека и Google не смог найти ответ на этот вопрос.

Я получил простое сокращение Ruby для оператора if, который должен возвращатьinteger вот так:

<code># in the context of this erb document `amount` is defined as 5.
@c = ( defined? amount ? amount : r( 1,4 ) )
</code>

r() пользовательская вспомогательная функция, которая возвращает случайное число междуin this case 1 и 4.

То, как я намерен это работать, заключается в том, чтоif amount определяется, затем используйте число, определенное какamount, else генерировать случайное число от 1 до 4 и использовать его вместо этого.

При распечатке@c однако Ruby выводитexpression а не номер.

Что мне нужно сделать, чтобы все заработало так, как я задумал, и что я делаю не так?

Большое спасибо за чтение!

Ответы на вопрос(3)

Ваш ответ на вопрос