Erlang - dopasowywanie wzorców
Wzorce wyglądają tak samo jak terminy - mogą to być proste literały, takie jak atomy i liczby, złożone, takie jak krotki i listy, lub mieszanka obu. Mogą również zawierać zmienne, które są ciągami alfanumerycznymi zaczynającymi się od dużej litery lub podkreślenia. Specjalna „anonimowa zmienna” _ (podkreślenie) jest używana, gdy nie zależy Ci na dopasowywanej wartości i nie będziesz jej używać.
Wzorzec pasuje, jeśli ma taki sam „kształt” jak dopasowywany termin, a napotkane atomy są takie same. Na przykład następujące dopasowania zakończą się sukcesem -
- B = 1.
- 2 = 2.
- {ok, C} = {ok, 40}.
- [H | T] = [1, 2, 3,4].
Zwróć uwagę, że w czwartym przykładzie pionowa kreska (|) oznacza początek i koniec listy zgodnie z opisem w Warunkach. Należy również pamiętać, że lewa strona powinna pasować do prawej strony, co jest normalnym przypadkiem w przypadku wzorów.
Poniższe przykłady dopasowania wzorców zakończą się niepowodzeniem.
- 1 = 2.
- {ok, A} = {błąd, „Nie znam pytania”}.
- [H | T] = [].
W przypadku operatora dopasowywania wzorców awaria generuje błąd i proces kończy się. Sposób, w jaki można to uwięzić i sobie z tym radzić, opisano w sekcji Błędy. Wzorce służą do wyboru, która klauzula funkcji zostanie wykonana.