模式看起来与术语相同 - 它们可以是简单的文字,如原子和数字,复合像元组和列表,或两者的混合。 它们还可以包含变量,这些变量是以大写字母或下划线开头的字母数字字符串。 当您不关心要匹配的值时,将使用一个特殊的“匿名变量”_(下划线),并且不会使用它。
如果模式与匹配的术语具有相同的“形状”,并且遇到的原子相同,则匹配模式。 例如,以下匹配成功 -
请注意,在第四个示例中,管道(|)表示列表的头部和尾部,如术语中所述。 另请注意,左侧应与右侧匹配,这是图案的正常情况。
以下模式匹配示例将失败。
在模式匹配运算符的情况下,失败会生成错误并且进程退出。 错误中包含了如何捕获和处理它的方法。 模式用于选择将执行函数的哪个子句。