2012-03-17 14 views

Respuesta

8

intente lo siguiente:

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

Este * factoring * La solución suele ser una manera excelente de hacerlo Lo he visto usado donde el valor de retorno es mucho más complejo que un 'boolean()'. Use una función auxiliar para analizar el resultado y luego el caso en este resultado. –

8

Puede utilizar guardias:

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