python チュートリアル確認 (2)
何してる、と言いつつ reduce 作ってみる。
"reduce(func, sequence)" は単一の値を返します。この値は 2 つの引数をとる関数 func をシーケンス sequence の最初の二つの要素を引数として呼び出し、次にその結果とシーケンスの次の要素を引数にとり、以降これを繰り返すことで構成します。
5.1.3 実用的なプログラミングツールより引用
これはこれは、と言いつつ適当に作成
(define (reduce func seq) (define (inner-reduce ret seq) (if (null? seq) ret (inner-reduce (func ret (car seq)) (cdr seq))) ) (inner-reduce (car seq) (cdr seq)) )
これでデキ上がり、でいいんじゃないかな (何
一応試験
gosh> (reduce + (range 1 11)) 55 gosh> (reduce + '(1)) 1 gosh>
(reduce + '()) の考慮はしてませんがスルー。