我正在做一个Ruby练习,但我无法弄清楚出了什么问题。我需要修改suma
方法,以便我的测试都返回true。
我不允许添加其他if,或者删除代码或修改参数。我错过了什么吗?
def suma(a, b)
"#{a} es mayor que #{b}" if a > b
"#{a} no es mayor que #{b}"
end
#test
p suma(10, 5) == "10 es mayor que 5"
p suma(4, 23) == "4 no es mayor que 23"
答案 0 :(得分:2)
您在第一个条件中缺少return
。
def suma(a, b)
return "#{a} es mayor que #{b}" if a > b
"#{a} no es mayor que #{b}"
end
Ruby默认会返回方法中的最后一个语句,但它允许提前返回。由于你想要a > b
提前返回,你必须尽可能多地告诉Ruby。否则,它将执行该行并默认为该方法中的最后一个语句以便返回。