2012-07-08 2 views

ответ

13

Помимо использования охранников в порядке, предложенном @Bunnit, нет способа избежать повторения положений оговорки. В одном предложении нет альтернативных шаблонов. В вашем случае не так много повторений, но если повторное тело было более сложным, лучшим способом было бы поместить его в отдельную функцию и вызвать это.

Добавление этой функции, если возможно, приведет к некоторой «интересной» обработке переменных.

19

Вы можете использовать, когда охранники в случае заявления, такие как:

case sth of 
    {a, Var} when Var < 3-> doA(); 
    {a, 3} -> doB() 
end. 

Кроме вашего выражения (sth) представляет собой атом здесь означает, что он никогда не соответствует ни одному из этих случаев.

+1

Мой вопрос был немного более общим. – zie1ony

+0

Также это рискованно из-за 1 и 2 <3, да, но также 0, -1, -2, ... –

Смежные вопросы