大家好!
我一直在努力使此功能以他们想要的特定方式工作。
我尽了一切,唯一可以做的输出就是没有起点和终点,例如:[[((a,b),(b,c))]
有人可以给我一些帮助吗?我被困住了...
更新:类型Point =(浮点,浮点)
答案 0 :(得分:-1)
好吧,因为您可以在没有起点/终点的情况下正常工作。一种简单的完成方法是使用您的函数,但在内部函数的列表中添加起点/终点。因此,您的界面仍然相同。
使用递归,模式匹配和保护的另一种方法是:
-- assuming the inputs to be int as definition of point not given
solve x z [] = [(x,z)]
solve x z (y:ys)
| x == 0 = solve y z ys -- x ==0 to be replaced by null/empty condition on x
| null ys && z == 0 = [] -- z ==0 to be replaced by null/empty condition on z
| null ys = [(y, z)]
| otherwise = (x,y) : solve y z ys
添加了一个基本情况,即基于darthfennec注释,列表为空或起点/终点无效。