2012-03-17 14 views

Odpowiedz

8

wykonaj następujące czynności:

case is_special_atom(A) of 
    true -> 
     %do something here; 
    false -> 
     %do something else! 
end. 

is_special_atom(atom_b) -> true; 
is_special_atom(atom_c) -> true; 
is_special_atom(_) -> false. 
+1

Ten * faktoring * rozwiązanie jest zazwyczaj doskonałym sposobem robienia tego. Widziałem go używanego tam, gdzie wartość zwracana jest znacznie bardziej złożona niż wartość 'boolean()'. Użyj funkcji pomocniczej do analizy wyniku, a następnie do sprawy dotyczącej tego wyniku. –

8

można użyć osłony:

A = 'atom_a', 
case A of 
    B when B =:= 'atom_b'; B =:= 'atom_c' -> 
    %do something here; 
    'atom_a' -> 
    %do something else! 
end.