我有一个函数可以找到 2 个坐标的距离并将其放在相应子列表的前面。现在,它只找到第一个坐标的距离。我认为递归有问题,因为它似乎没有移动到其他坐标。
这是应该发生的事情:
~(storedist distance '(1 7) '((d (1 8)) (d (2 9))))
((1 (d (1 8))) (2 (d (2 9))))
这是我的代码发生的事情:
~(storedist distance '(1 7) '((d (1 8)) (d (2 9))))
(1 (d (1 8))) (d (2 9)))
我怎样才能解决这个问题?
(define (store-dist dist coord data)
(if (null? data) '()
(if (null? (cdr data)) data
(cons (dist coord (car (list (cadar data))))
(store-dist dist coord (list (cdr data)))))))