我做了函数搜索,它接受一个 los,一个数字,并返回列表的第 num 个符号。简单的
(define (search los num)
(cond
[(empty? los) empty]
[(zero? num) (first los)]
[else (lookup (rest los) (- num 1))]))
(check-expect (lookup (list 'a 'b 'c 'd) 0) 'a)
但我无法弄清楚如何设计一个函数,该函数接受一个 los(符号列表)、一个符号(s)和一个数字(numth),并返回 los,并将第 numth 个符号替换为 s。
像这样的东西-
(change (list 'a 'b 'c 'd) 'hello 2) ;==> (list 'a 'b 'hello 'd)
(change (list 'a 'b 'c 'd) 'hi 0) ;==> (list 'hi 'b 'c 'd)