Erlang:很多案例......

时间:2015-04-13 11:29:48

标签: erlang

在erlang中,我经常编写这样的代码:

case A of
    A1 ->
        something_simple_1;
    A2 ->
        case B of
            B1 ->
                something_simple_2;
            B2 ->
                case C of
                    C1 ->
                        something_simple_3;
                    C2 ->
                        ...
                end
        end
end

很丑,怎么能避免这种情况?

1 个答案:

答案 0 :(得分:5)

case {A, B, C} of
    {A1, _, _} -> 
        something_simple_1;
    {A2, B1, _} ->
         something_simple_2;
    {A2, B2, C1} ->
         something_simple_3;
    {A2, B2, C2} ->
    ...
end

请注意,这不允许您例如避免在不需要时计算C;更普遍适用的方法就是提取功能。