2006-05-18から1日間の記事一覧

2.2.3 Sequences as Conventional Interfaces

だんだん問題解くのが面倒になってきた。 前準備 (define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) 2.33 (リストの基本関数をaccumulateで書き換え) (define (%map p …

2.2.1 Representing Sequences,2.2.2 Hierarchical Structures

nilの代わりに'()を使用する。 2.17 (define (last-pair lis) (if (null? (cdr lis)) lis (last-pair (cdr lis)))) 2.18 (define (reverse lis) (define (reverse-iter lis reversed) (if (null? lis) reversed (reverse-iter (cdr lis) (cons (car lis) rev…

2.1.1 Example: Arithmetic Operations for Rational Numbers

今までは手続きの抽象化、ここからはデータの抽象化。 リンク先のサイトの Figure 2.1: Data-abstraction barriers in the rational-number package が分かりやすい。 Programs that use rational numbers (Rational numbers in problem domain) add-rat sub…