我有一个模式匹配问题。当我向(x:y:ys) 输入包含 3 个元素的列表时,拥抱抱怨说有:模式匹配失败。我想问题就在这里
takeNearestOnes agent (y:ys) (x:nearestOnes)
因为它无法将三个元素与包含两个元素的列表匹配
这是完整的代码:
takeNearestOnes agent (x:y:ys) nearestOnes
| first == second = takeNearestOnes agent (y:ys) (x:nearestOnes)
| otherwise = (x:nearestOnes)
where first=(manhattanDistance x (agentCoord agent))
second=(manhattanDistance y (agentCoord agent)
我该如何克服呢?提前致谢