在JavaScript中,我可以寫赫然表現:是否有等價於JavaScript的'||'在Ruby中?
console.log(foo.name || 'No Name');
是否有任何Ruby相當於短表達?
在JavaScript中,我可以寫赫然表現:是否有等價於JavaScript的'||'在Ruby中?
console.log(foo.name || 'No Name');
是否有任何Ruby相當於短表達?
我很少使用紅寶石,但它應該幾乎完全相同。
>> name = false
=> false
>> puts name || "no name"
no name
這是完全一樣的,以紅寶石:
def test(x)
puts x
end
var = nil
test(var || 'No Name') #=> No Name
var = 'something'
test(var || 'No Name') #=> something
您也可以使用同樣的技術時沒有初始化它初始化變量:
var ||= 'data'
只是一個側面說明:不幸的是,你不能在javascript中執行'somevar || ='data''。 –
是不一樣的? [看這裏](http://invisibleblocks.com/2007/06/11/rubys-other-ternary-operator/) – macino
-1它在Ruby中的工作方式完全相同。恕我直言,人們應該先詢問之後再嘗試,特別是考慮到Ruby有一個很好的REPL(irb)。 – fresskoma