我需要帮助创建一个将新球添加到现有列表的函数。
Function AddBalls
AddBalls ListOfBalls -> ListOfBalls
This function adds one new ball to a list of balls
(define (AddBall List)
(...))
(define (AddBall L)
(cond
[(empty? L) empty]
[(cons? L)
(cons (first L)(AddBall(rest L))]))
答案 0 :(得分:0)
所以我不知道Racket中的球是什么,但你可以很容易地将任何元素添加到列表中。所以基本上最容易添加到前面:
(define my-list '(2 3 4))
(define my-new-list (cons 1 my-list))
执行此操作的程序:
(define (add-list e lst)
(cons e lst))
但请注意,它就像cons
一样,参数顺序相同,所以你可以这样做:
(define add-list cons)
(add-list 1 '(2 3 4)) ; ==> (1 2 3 4)
那么如果要添加到列表末尾怎么办?我会用append:
(define (add-last lst el)
(append lst (list el)))
(add-last '(1 2 3) 4) ; ==> (1 2 3 4)
支持添加到最后的任何提示:
(define (add-last lst . els)
(append lst els))
(add-last '(1 2 3) 4 5 6 7) ; ==> (1 2 3 4 5 6 7)