lispの勉強メモ
公開日:
:
最終更新日:2014/01/29
LISP
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
階乗計算を行うプログラム
(defun factorial (n)
(if (= n 1) 1
(* n (factorial (- n 1)))))
こんな感じで呼び出す。
(factorial 6)
(factorial 10)
お次はHello World.
(print "Hello World")
1から100までの値が含まれたリストを作成
(let ((y nil))
(dotimes (x 100) (setq y (cons (+ x 1) y)))
(reverse y))
Lispでは以下のようなものをリストと呼ぶ。
(1 2 3 4)
()
("a" "b" ("c" "d"))
数字自体を評価すると、その数値そのものが返る。
3 ; 3
文字列の場合も同様。
"abc" ; "abc"
t, nil, キーワードを評価してみる。
t ; t
nil ; nil
:key ; :key
リストを評価した場合
(setq a 10) ; 10
(+ a 1) ; 11
(* (- a 7) 5) ; 15
(1 2 3) ; (invalid-function 1)
(a 1 2) ; (void-function a)
リストを評価した場合
(setq a 10) ; 10
(+ a 1) ; 11
(* (- a 7) 5) ; 15
(1 2 3) ; (invalid-function 1)
(a 1 2) ; (void-function a)
シンボルをクォートする
(setq a 10) ; 10
a ; 10
(quote a) ; a
'a ; a
リストをクォートする
'(1 2) ; (1 2)
(setq a '(1 2)) ; (1 2)
a ; (1 2)
数値に関する評価。
(+ 1 2) ; 3
(* 2 3) ; 6
(- 2 3) ; -1
(/ 12 4) ; 3
(% 13 3) ; 1
(max 12 23 34) ; 34
(min 12 23 34) ; 12
(1+ 123) ; 124
(1- 123) ; 122
(random) ; 193676647
関連記事
- PREV
- 最近の勉強内容、いろいろ
- NEXT
- 今日もLispの勉強をしてみた