Шаблоны выглядят так же, как термины — они могут быть простыми литералами, такими как атомы и числа, составными, как кортежи и списки, или смесью обоих. Они также могут содержать переменные, которые представляют собой буквенно-цифровые строки, начинающиеся с заглавной буквы или подчеркивания. Специальная «анонимная переменная» _ (подчеркивание) используется, когда вы не заботитесь о сопоставляемом значении и не будете его использовать.
Шаблон соответствует, если он имеет ту же «форму», что и сопоставляемый термин, и встречающиеся атомы совпадают. Например, следующие совпадения успешны —
- B = 1.
- 2 = 2.
- {хорошо, C} = {хорошо, 40}.
- [H | T] = [1, 2, 3,4].
Обратите внимание, что в четвертом примере труба (|) обозначает начало и конец списка, как описано в Условиях. Также обратите внимание, что левая сторона должна соответствовать правой стороне, что является нормальным случаем для паттернов.
Следующие примеры сопоставления с образцом не удастся.
- 1 = 2
- {хорошо, A} = {ошибка, «Не знаю вопроса»}.
- [H | T] = [].
В случае оператора сопоставления с образцом сбой создает ошибку, и процесс завершается. Как это можно поймать и обработать, описано в разделе «Ошибки». Шаблоны используются для выбора того, какой пункт функции будет выполняться.