2012-07-08 15 views

risposta

13

Oltre a utilizzare le protezioni in un modo suggerito da @Bunnit, non è possibile evitare di ripetere i corpi delle clausole. Non c'è modo di avere schemi alternativi in ​​una clausola. Nel tuo caso non c'è molta ripetizione, ma se il corpo ripetuto era più complesso allora il modo migliore è metterlo in una funzione separata e chiamarlo.

L'aggiunta di questa funzionalità, se possibile, porterebbe ad una gestione "interessante" delle variabili.

19

è possibile utilizzare quando le guardie della istruzione case quali:

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

anche la vostra espressione (sth) è un atomo qui significa che può non corrispondere a uno qualsiasi di questi casi.

+1

La mia domanda era un po 'più generale. – zie1ony

+0

Anche questo è rischioso perché 1 e 2 sono <3, sì, ma anche 0, -1, -2, ... –

Problemi correlati