【发布时间】:2013-03-12 18:53:57
【问题描述】:
如果测试为真,我想输入 1,如果不是,我想输入 0。我还想增加一个每次测试成功时计数的计数器。我现在有这个:
puts test1 ? sum += 1 : 0
puts test2 ? sum += 1 : 0
puts test3 ? sum += 1 : 0
puts test4 ? sum += 1 : 0
显然问题是,如果我每次都增加 sum,那么我打印的不是 1,而是 sum 的值。
我尝试了一个小方法,增加 sum 然后返回 1,如下所示:
def inc_sum_ret_1(sum)
sum += 1
1
end
并用它来代替“sum += 1”。当然,这每次只会从 0 增加到 1。
有什么好办法吗?从知识的角度来看,我比让我的代码特别整洁更好奇。
【问题讨论】:
标签: ruby ternary-operator