#lang planet neil/sicp
;;(square-list (list 1 2 3 4)) => (1 4 9 16)
(define a (list 1 2 3 4))
; define one
(define (square x)
(* x x))
(define (square-list items)
(if (null? items)
nil
(cons (square (car items)) (square-list (cdr items)))))
; define two
(define (square-list items)
(map (lambda (x) (* x x)) items))
运行:
Welcome to DrRacket, version 5.3.3 [3m].
Language: planet neil/sicp; memory limit: 512 MB.
> (square-list a)
(mcons 1 (mcons 4 (mcons 9 (mcons 16 '()))))
>
本文介绍了使用递归和map两种方法实现列表平方的Scheme语言程序,并展示了在DrRacket环境下的运行结果。
2344

被折叠的 条评论
为什么被折叠?



