例題の解答例

例題1

(define each
  (lambda (lst fnc)
    (if (null? lst)
        (list )
        (cons (fnc (car lst)) (each (cdr lst) fnc)))))

例題2

(define total
  (lambda (s lst fnc)
    (if (null? lst)
        s
        (total (fnc s (car lst)) (cdr lst) fnc))))

例題3

(define calc-oplist
  (lambda (a b oplst)
    (if (null? oplst)
        (list )
        (cons ((car oplst) a b) (calc-oplist a b (cdr oplst))))))

例題4

(define func-name
  (lambda (msg)
    (cond ((eq? msg 'tasu) +)
          ((eq? msg 'hiku) -)
          ((eq? msg 'kakeru) *)
          ((eq? msg 'waru) /)
          ((eq? msg 'amari) modulo))))

(c) 2008.6.12 by tokuhisa