Ruby相当于Coffeescript缩写版的简写`if`运算符

时间:2016-06-22 14:52:17

标签: ruby coffeescript conditional-operator

在coffeescript中,你可以name = a ? "bear"。你怎么能用Ruby做到这一点?

对于那些不了解Coffeescript(v1.10)的人,上述声明会转换为Javascript:

name = typeof a !== "undefined" && a !== null ? a : "bear"

换句话说,如果aundefinednull,则将"bear"分配给name(而不是将a分配给name {1}})

1 个答案:

答案 0 :(得分:3)

布尔or

name = a || "bear"

准确地说,以下是完全等价的(红宝石中没有undefined):

name = a.nil? ? 'bear' : a