Gaucheで遊ぶ

とりあえず1から100までの平均求めるとかそんなの。Rの1:100みたいなのが分からないので、とりあえず作った。

(define (make-natural-number-list start end)
  (define (make-natural-number-list-rec start end lis)
    (if (null? lis)
	(make-natural-number-list-rec start end (cons start '()))
	(if (= end (car lis))
	    lis
	    (make-natural-number-list-rec start end 
					  (cons (+ 1 (car lis)) lis)))))
  (reverse (make-natural-number-list-rec start end '())))

(make-natural-number-list 1 10)

((lambda (lst) (fold + 0 lst)) (make-natural-number-list 1 100))

(/ 100 10)

;;;sum
((lambda (lst) (fold + 0 lst)) (make-natural-number-list 1 100))
;;;mean
((lambda (lst) (/ (fold + 0 lst) (length lst))) (make-natural-number-list 1 100))