Lispを触ってみる(CLISP)
Lispを触ってみる。
前提
- 現在のLispの主流は Common Lisp と Scheme
- 当面は Common Lisp を使ってみる
実行環境(CLISP)
- インストール
- CLISP - an ANSI Common Lisp Implementation > Our official distribution sites
- REPL(read-eval-printループ)
試実行
clisp (+ 1 (* 2 2)) (expt 2 10) (/ 27 132) (/ 27.0 132) (sort '(3 1 2) '<) (sort '(a c b) 'string<) (princ "Hello world!") (quit)
数当てゲーム(後述の参考文献を参照)
定義
(defun guess-my-number () (ash (+ *small* *big*) -1)) (defun start-over () (defparameter *small* 1) (defparameter *big* 100) (guess-my-number)) (defun smaller () (setf *big* (1- (guess-my-number))) (guess-my-number)) (defun bigger () (setf *small* (1+ (guess-my-number))) (guess-my-number))
実行例(答えが「39」の場合)
(start-over) (smaller) (bigger) (bigger) (smaller) (smaller) (bigger)
リストの長さ(トップレベルのS式の数)
(defun my-length (x) (cond ((null x) 0) (t (1+ (length (cdr x)))) ))
参考文献
- 作者: M.D. ConradBarski,Conrad Barski,川合史朗
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/02/23
- メディア: 大型本
- 購入: 1人 クリック: 18回
- この商品を含むブログ (19件) を見る