Los patrones tienen el mismo aspecto que los términos: pueden ser literales simples como átomos y números, compuestos como tuplas y listas, o una mezcla de ambos. También pueden contener variables, que son cadenas alfanuméricas que comienzan con una letra mayúscula o un guión bajo. Una "variable anónima" especial, _ (el guión bajo) se usa cuando no le importa el valor que se va a comparar y no lo va a usar.
Un patrón coincide si tiene la misma "forma" que el término que se está emparejando y los átomos encontrados son los mismos. Por ejemplo, las siguientes coincidencias tienen éxito:
- B = 1.
- 2 = 2.
- {ok, C} = {ok, 40}.
- [H | T] = [1, 2, 3, 4].
Tenga en cuenta que en el cuarto ejemplo, la barra vertical (|) significa el principio y el final de la lista como se describe en Términos. También tenga en cuenta que el lado izquierdo debe coincidir con el lado derecho, que es el caso normal para los patrones.
Los siguientes ejemplos de coincidencia de patrones fallarán.
- 1 = 2.
- {ok, A} = {fracaso, "No sé la pregunta"}.
- [H | T] = [].
En el caso del operador de coincidencia de patrones, una falla genera un error y el proceso sale. Cómo se puede atrapar y manejar esto se trata en Errores. Los patrones se utilizan para seleccionar qué cláusula de una función se ejecutará.