Mehr als eine Übereinstimmung in der case-Anweisung in Erlang?

8

Ich habe diesen Code:

%Vor%

Gibt es eine Möglichkeit, den "doA ()" -Teil nicht zu wiederholen? Ich dachte, dass es einfach sein sollte, aber ich konnte keine Antwort in Google finden.

    
zie1ony 08.07.2012, 01:27
quelle

2 Antworten

13

Abgesehen von der Verwendung von Wachen in der von @Bunnit vorgeschlagenen Weise gibt es keine Möglichkeit, die Wiederholung der Klauselkörper zu vermeiden. Es gibt keine Möglichkeit, alternative Muster in einer Klausel zu haben. In Ihrem Fall gibt es nicht viel Wiederholung, aber wenn der wiederholte Körper komplexer war, dann ist der beste Weg, es in eine separate Funktion zu bringen und das zu nennen.

Das Hinzufügen dieser Funktion würde, wenn möglich, zu einer "interessanten" Handhabung von Variablen führen.

    
rvirding 08.07.2012, 10:53
quelle
19

Sie können verwenden, wenn in der Case-Anweisung Wachen wie:

%Vor%

Auch Ihr Ausdruck ( sth ) ist hier ein Atom, was bedeutet, dass er niemals mit einem dieser Fälle übereinstimmen kann.

    
Scott Logan 08.07.2012 07:19
quelle

Tags und Links