有没有更好的方法在Ruby中编写它,而不是两次写“bar”?
foo = bar > 0 ? bar : 1
答案 0 :(得分:4)
不是通用用例,但是:
foo = [bar, 1].max
答案 1 :(得分:3)
$ irb
>> x ||= "default"
=> "default"
>> x ||= "nothing changes, since x has been defined"
=> "default"
x的值将替换为“default”,但仅当x为nil或false时。所以我不确定它是否适合您的用例(x > 0)
。
x ||= "default"
只是x || x = "default"
的缩写。