【问题标题】:Is pattern matching preferred or a case statement in idiomatic Erlang?模式匹配是首选还是惯用 Erlang 中的 case 语句?
【发布时间】:2018-09-04 02:18:03
【问题描述】:

这段代码中哪一个是 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

【问题讨论】:

    标签: erlang switch-statement pattern-matching


    【解决方案1】:

    标题不太正确,因为case 模式匹配(和一个表达式,而不是一个语句)。

    多子句定义可能会稍有偏好,因为当您想要匹配多个参数时使用它会更好,但两者都是完全惯用的。

    【讨论】:

      猜你喜欢
      • 2017-08-06
      • 1970-01-01
      • 2017-05-22
      • 2019-09-03
      • 1970-01-01
      • 2020-04-19
      • 2010-12-06
      • 2021-06-20
      • 1970-01-01
      相关资源
      最近更新 更多