我刚刚在工作程序员的 ML中遇到了以下函数:
fun null [] = true
| null (_::_) = false
1)两个通配符都不能是空列表吗?如果没有,ML如何防止这种情况?
2)功能是否可以缩短为:
fun null [] = true
| false
为什么/为什么不呢?
感谢您的帮助, bclayman
答案 0 :(得分:5)
是的,他们可以,但匹配的列表不会为空,因此null
函数的结果成立,即[] :: []
,相当于{{ 1}},不是空列表。
不,这在语法上无效。但是,它可以缩短为:
[[]]