我的作业有点麻烦。我必须创建一个请求列表列表和元素的过程,然后继续将元素添加到每个子列表中的第一个位置。我设法做到了,它看起来像这样:
(define (add-element lst elem)
(foldr cons lst (list elem)))
(define (insert-first lst1 x)
(cond
[(empty? lst1) empty]
[else (local [(define insert (add-element(first lst1) x))]
(cons insert (insert-first (rest lst1) x)))]))
所以如果你要打字(insert-first '((a b) (c d))
,你最终会得到(list (list 'x 'a 'b) (list 'x 'c 'd))
唯一的问题是我需要使用map
and对过程进行编码local
。后一个我认为我完成了,但我无法为我的生活找出一种使用方法map
。