t-nissieの日記: Schemeb自習帳002 2
日記 by
t-nissie
(define (wa x)
(if (null? x)
0
(+ (car x) (wa (cdr x)))))
(wa ()) ;=>0
(wa '()) ;=>0
(wa '(4)) ;=>4
(wa '(1 5 10)) ;=>16
(wa '(0.5 0.1000000000000001 0.1)) ;=>0.7000000000000002
引数が '(1 5 10) みたいなリストでないとダメだし、加算の順序が逆。
前回の課題未達成。
(if (null? x)
0
(+ (car x) (wa (cdr x)))))
(wa ()) ;=>0
(wa '()) ;=>0
(wa '(4)) ;=>4
(wa '(1 5 10)) ;=>16
(wa '(0.5 0.1000000000000001 0.1)) ;=>0.7000000000000002
引数が '(1 5 10) みたいなリストでないとダメだし、加算の順序が逆。
前回の課題未達成。
練習だから... (スコア:1)
アドバイスしない方がいいんだよね?
Re:練習だから... (スコア:1)
(define (wa . args)
(define (loop sum args)
(if (null? args)
sum
(loop (+ sum (car args)) (cdr args))))
(loop 0 args))
としてみました。いちおう動いているみたいですがこれでよいのでしょうか。
アドバイスが必要な事態になりましたら叫び声をあげますので、
気がつかれたら、そのときはどうかよろしくおねがいします。
love && peace && free_software
t-nissie