我在賦值時遇到了一些問題。我必須創建一個請求列表和元素列表的過程,並繼續將元素添加到每個子列表中的第一個位置。我成功地做到這一點,它看起來像這樣:將元素插入到列表中的列表開頭
(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
程序和local
。後一個我認爲我已經完成了,但是我不能爲我的生活想出一個方法來使用map
。
是否已進行了在這個問題上有何進展? –