有人可以在这里解释冒号的功能吗?

时间:2016-01-01 03:08:33

标签: ruby ternary-operator

有人可以解释:在这种情况下的作用吗?

def group_by_marks(marks, n)
    marks.group_by {|key, value| value <n ? "Failed" : "Passed"}
end

2 个答案:

答案 0 :(得分:4)

这是一个三元条件。冒号表示如果value大于或等于n,请使用"Passed"

value < n ? "Failed" : "Passed"

相当于

if value < n then "Failed" else "Passed" end

答案 1 :(得分:2)

它是三元运营商。如果value < n为真,则此块的返回值为"Failed";如果value < n为false,请返回"Passed"

您可以简单地将此冒号视为&#34;或者这个或那个&#34;。