【发布时间】:2016-04-05 19:52:07
【问题描述】:
有人能解释一下: 在这种情况下做了什么吗?
def group_by_marks(marks, n)
marks.group_by {|key, value| value <n ? "Failed" : "Passed"}
end
【问题讨论】:
标签: ruby ternary-operator
有人能解释一下: 在这种情况下做了什么吗?
def group_by_marks(marks, n)
marks.group_by {|key, value| value <n ? "Failed" : "Passed"}
end
【问题讨论】:
标签: ruby ternary-operator
这是一个三元条件。冒号表示如果value 大于等于n,则使用"Passed"。
value < n ? "Failed" : "Passed"
相当于
if value < n then "Failed" else "Passed" end
【讨论】:
它是三元运算符。如果value < n为真,则此块的返回值为"Failed";如果value < n 为假,则返回"Passed"。
您可以简单地将这个冒号视为“这个或那个”。
【讨论】: