我很新的Ruby和Rails,但即使搜索堆棧溢出和谷歌我找不到答案。帶有「已定義?」的三元表達式返回「表達式」而不是值?
我有一個簡單的Ruby速記if語句應該返回一個integer
像這樣:
# in the context of this erb document `amount` is defined as 5.
@c = (defined? amount ? amount : r(1,4))
r()
是一個自定義的輔助函數,在這種情況下 1和4返回之間的隨機數。
我打算這對工作的方式是,if
amount
被定義,則使用限定爲amount
數,else
產生1和4並使用它之間的隨機數。
打印出@c
但是,Ruby輸出expression
而不是數字。
我該怎麼做才能按照我的意圖做到這一點,我做錯了什麼?
非常感謝您的閱讀!
完美,非常感謝!很明顯,我還沒有學到更多的這些基礎知識,但這已經超過了'amount ||'的幫助r(x,y)'完全按照我想要的方式工作,並且同時處於較少的字符中。 – Jannis