在JavaScript中,我可以写得非常富有表现力:
console.log(foo.name || 'No Name');
是否有任何Ruby等同于该短表达式?
答案 0 :(得分:5)
我很少使用红宝石,但它应该差不多相同。
>> name = false
=> false
>> puts name || "no name"
no name
答案 1 :(得分:1)
与Ruby完全相同:
def test(x)
puts x
end
var = nil
test( var || 'No Name') #=> No Name
var = 'something'
test( var || 'No Name') #=> something
此外,您可以使用相同的技术在未初始化变量时初始化变量:
var ||= 'data'