标签: ruby
假设我定义了以下变量:
a = 6 b = 4 c = 0
我想将第一个非零值分配给另一个变量,但顺序相反(c - > b - > a)。我最初尝试d = c || b || a,但仍然导致0.是否有单行方式这样做?
d = c || b || a
答案 0 :(得分:3)
使用detect
[c,b,a].detect { |i| i > 0 }
答案 1 :(得分:0)
[c,b,a].select { |i| i > 0 }.first => 4