Тернарное выражение с «определенным?» Возвращает «выражение» вместо значения?
Я довольно новичок в 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
а не номер.
Что мне нужно сделать, чтобы все заработало так, как я задумал, и что я делаю не так?
Большое спасибо за чтение!