scheme

プログラミングGauche p.65あたり

関数を引数に取る関数(for-eachやmap)を引数に取る関数(tree-walk)を作り、for-eachやmapの代わりにlambdaで新しくtreewalkの方法を書くとかの例を勉強した tree-walk.scm #!/usr/bin/env gosh (print "p.65 tree-walk") ;; listの中身がlistだったら再帰的…

引数を上書きできない

(define lis '(1 2 3)) (print lis) (define lis (append lis '("test" "hello"))) (print lis) (1 2 3) (1 2 3 test hello)(define (func lis) (print lis) ) (func '(1 2 3)) (1 2 3) 書き換えるとなぜかundefになる (define (func lis) (define lis (appe…

プログラミングGauche

p.56 listの長さを計算する #!/usr/bin/env gosh (define (length lis) (define (length-walk lis n) (if (null? lis) n (length-walk (cdr lis) (+ n 1)) ) ) (length-walk lis 0)) (print (length '(1 2 3))) p.56 リスト内から条件を満たす要素を抜き出し…