在coffeescript中,你可以name = a ? "bear"
。你怎么能用Ruby做到这一点?
对于那些不了解Coffeescript(v1.10)的人,上述声明会转换为Javascript:
name = typeof a !== "undefined" && a !== null ? a : "bear"
换句话说,如果a
为undefined
或null
,则将"bear"
分配给name
(而不是将a
分配给name
{1}})
答案 0 :(得分:3)
布尔or
:
name = a || "bear"
准确地说,以下是完全等价的(红宝石中没有undefined
):
name = a.nil? ? 'bear' : a