我正在学习 ML,有人可以解释一下穷举模式是什么意思吗?
最佳答案
如果模式匹配不会失败,则它是详尽的。 IE。所有可能发生的情况都包含在一个模式中。
例如,以下模式匹配并不详尽,因为它没有涵盖列表为空的情况:
fun sum (x::xs) = x + sum xs
以下内容是详尽的,因为这两种情况都涵盖了:
fun sum (x::xs) = x + sum xs
| sum [] = 0
通常,当且仅当存在默认情况或所有构造函数都有情况并且每个子模式的匹配都是详尽的时,代数数据类型上的模式匹配才是详尽的。
关于functional-programming - 详尽的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4292744/