首页 > Erlang并发教程 > 3.25 Erlang并发编程-Case 和 if 使用示例
2013
11-06

3.25 Erlang并发编程-Case 和 if 使用示例

BACK TOP文章索引

  1. Case 和 if 使用示例
  2. 共1条评论

Case 和 if 使用示例

使用caseif我们可以以多种方式来编写factorial

最简单的:

factorial(0) -> 1;
factorial(N) -> N * factorial(N - 1).

使用函数保护式:

factorial(0) -> 1;
factorial(N) when N > 0 -> N * factorial(N - 1).

使用if

factorial(N) ->
    if
        N == 0 -> 1;
        N > 0 -> N * factorial(N - 1)
    end.

使用case

factorial(N) ->
    case N of
        0 -> 1;
        N when N > 0 ->
            N * factorial(N - 1)
    end.

使用变量保持临时结果:

factorial(0) ->
    1;
factorial(N) when N > 0 ->
    N1 = N - 1,
    F1 = factorial(N1),
    N * F1.

以上所有定义都是正确且等价的[7]——如何进行选择完全是个美学问题。


3.25 Erlang并发编程-Case 和 if 使用示例》有 1 条评论

  1. 精: 说:

    被erlang的编程思想折服

留下一个回复

你的email不会被公开。