2010-02-01から1ヶ月間の記事一覧

Gauche本勉強メモ(9日目)

仕事が忙しくてだいぶあいてしまったけど、今日から再開。 6.6 2種類の再帰 再帰的に呼ばれた手続きの返す値が、もとの手続きの返す値になっているものが末尾再帰。 7.1 手続きオブジェクト lambda式は評価されると手続きオブジェクトになる。今日はここまで

Gauche本勉強メモ(8日目)

ゆだんするとすぐ3日くらい空いちゃう。なるべく毎日やるぞ。リストの要素を逆転するreverseを考えてみる (define (reverse lis) (fold cons '() lis)) ;;; もしくは (define (reverse lis) (if (null? (cdr lis)) lis (append2 (reverse (cdr lis)) (list (…

Gauche本勉強メモ(7日目)

6.5簡単なリスト処理(のつづき) 2つのリストを連結する手続きappend2 (define (append2 a b) (if (pair? a) (cons (car a) (append2 (cdr a) b)) b)) gosh> (append2 '(1 2 3 4) '(10 9)) (1 2 3 4 10 9) gosh> (append2 '() '(10 9)) (10 9) gosh> (appen…