Pattern Matching
Erlang ist eine single assignment
Sprache, was bedeutet dass jede Variable nur einmal zugewiesen werden kann.
Variablen sind gebunden oder ungebunden, beim Pattern Matching wird ein Muster mit einem Begriff verglichen.
In Erlang werden Variablen groß geschrieben.
In Erlang ist der Operator =
mehr ein Vergleich (pattern matching operator), da eine Zuweisung nur einmal möglich ist.
Zudem gibt es mit _
eine Variable die als Platzhalter dient wenn der Wert nicht weiter interessant ist.
Pattern Matching mit Variablen
1> X = 3.
3
Pattern Matching mit Listen
1> Y = [1,2,3].
[1,2,3]
2> [A,B,C] = Y.
[1,2,3]
3> A.
1
4> B.
2
5> C.
3
Möchte man nun nur das erste Element der Liste bekommen kann man den |
Operator nutzen.
1> [H|T] = [1,2,3].
[1,2,3]
2> H.
1
3> T.
[2,3]
Das zweite Element kann man wie folgt erhalten.
1> [_,B|_] = [1,2,3].
[1,2,3]
2> B.
2
Pattern Matching mit Tuples
1> A = {1,2}.
{1,2}
2> {B,C} = A.
{1,2}
3> B.
1
4> C.
2
Pattern Matching mit Funktionen
task(start) ->
io:format("Start task~n");
task(stop) ->
io:format("Stop task~n").