【发布时间】:2018-03-04 23:20:59
【问题描述】:
谁能帮我纠正和理解为什么下面的语法不起作用?我想这是括号的问题。
findMinMaxRec smallest largest myList
| myList == [] = [smallest, largest]
| head myList < smallest && head myList > largest = findMinMaxRec head myList head myList tail myList
| head myList < smallest = findMinMaxRec head myList largest tail myList
| head myList > largest = findMinMaxRec smallest head myList tail myList
| otherwise = findMinMaxRec smallest largest tail myList
findMinMax [] = []
findMinMax [x] = findMinMaxRec head [x] head [x] [x]
谢谢
【问题讨论】:
-
通过在任何地方使用
head而不是正确的模式匹配,你真的让它变得非常复杂和不可读:( -
除了
head/tail的问题(几乎永远不应该使用)之外,请确保您始终使用类型签名并根据子表达式的类型来考虑代码>. -
以后,在问题中包含编译器错误。
标签: haskell