这段代码中哪一个是Erlang的首选方式?为什么?
sumOfMultiples(Multiples, 1) ->
0;
sumOfMultiples(Multiples, N) ->
cal_multiples(Multiples, lists:seq(1, N-1), 0).
或
sumOfMultiples(Multiples, N) ->
case N of
1 -> 0;
cal_multiples(Multiples, lists:seq(1, N-1), 0)
end
答案 0 :(得分:4)
标题不太正确,因为case
是模式匹配(和表达式,而不是语句)。
对于多子句定义可能略有偏好,因为当您想要匹配多个参数时,它会更好用,但两者都是完全惯用的。