Scheme 例如:cons'123=>'12。3@Barmar啊,我明白你的意思了。如果您注意到,这就是我在第二个解决方案中所做的。 (define (square-list items) (define (iter things answer) (if
Scheme 例如:cons'123=>'12。3@Barmar啊,我明白你的意思了。如果您注意到,这就是我在第二个解决方案中所做的。 (define (square-list items) (define (iter things answer) (if ,scheme,racket,Scheme,Racket,例如:cons'123=>'12。3@Barmar啊,我明白你的意思了。如果您注意到,这就是我在第二个解决方案中所做的。 (define (square-list items) (define (iter things answer) (if (null? things) answer (iter (cdr things) (cons (square (car things)) ans
例如:cons'123=>'12。3@Barmar啊,我明白你的意思了。如果您注意到,这就是我在第二个解决方案中所做的。
(define (square-list items)
(define (iter things answer)
(if (null? things)
answer
(iter (cdr things)
(cons (square (car things))
answer))))
(iter items nil))
(square-list (list 1 2 3 4))
(define (square-list2 items)
(square-list-helper items '())
)
(define (square-list-helper items squares)
(cond
[(empty? items) squares]
[else (append
squares
(square-list-helper (cdr items) (list (square (car items)))))]
)
)
(define (square-list items)
(if (null? items)
nil
(cons (square (car items))
(square-list (cdr items)))))
(define (square-list items)
(define (iter things answer)
(if (null? things)
answer
(iter (cdr things)
(cons (square (car things))
answer))))
(iter (reverse items) nil))
(define (square-list items)
(define (iter things answer)
(if (null? things)
answer
(iter (cdr things)
(append answer
(list (square (car things)))))))
(iter items nil))
(square-list '(2 3))
(iter '(3)
(cons (square 2) nil))
(iter '(3) '(4))
(iter '()
(cons (square 3) '(4))
(iter '() '(9 4))
(append answer (list (square (car things))))
(define (square-list items)
(define (iter things answer)
(if (null? things)
answer
(iter (cdr things)
(append answer (list (square (car things)))))))
(iter items (list)))