2015年6月4日木曜日

開発環境

Land of Lisp (M.D. Conrad Barski (著)、川合 史朗 (翻訳)、オライリージャパン)の2章(はじめてのLispプログラム)、2.5(ローカル変数を定義する)をSchemeで取り組んでみる。

2.5(ローカル変数を定義する)

コード(Emacs)

(define print
  (lambda (x)
    (begin (display x)
           (newline))))

(define for-each
  (lambda (proc items)
    (if (not (null? items))
        (begin (proc (car items))
               (for-each proc (cdr items))))))

(define a 10)
(define b 20)
(begin (newline)
       (for-each print 
                 (list a
                       b
                       (let ((a 5)
                             (b 6))
                         (+ a b))
                       a
                       b)))

入出力結果(Terminal(kscheme), REPL(Read, Eval, Print, Loop))

$ kscheme < sample2_5.scm
kscm> kscm> kscm> kscm> kscm> 
10
20
11
10
20
#<undefined>
kscm> $

0 コメント:

コメントを投稿