前回
リスト遊び 3-1 関数定義 - by shigemk2
- 変数とはポインタを格納する箱である
- 変数へデータを代入することは、そのデータへのポインタを格納することである
- 変数への評価とは、ポインタが指しているデータを取り出すことである
- 変数から変数への代入とは、ポインタをコピーすることである
- シンボル、整数は同じポインタを指すが、文字列、リストは同じポインタを指さない
;; 整数 (setq x 2) =>2 (setq y 2) =>2 (eq x y) =>t (setq z y) =>2 (eq y z) t ;; シンボル (setq x 'dog) => dog (setq y 'dog) => dog (eq x y) => t (setq z y) => dog (eq y z) => t ;; 文字列のポインタ (setq x "dog") =>"dog" (setq y "dog") => "dog" (eq x y) ;; 違うポインタを指しているからnil => nil (setq z y) ;; 同じポインタを指しているからt => "dog" (eq y z) => t ;; 定義されるリストや文字列は、それぞれ違う ;; ポインタを指している (setq x '(1 2)) =>(1 2) (setq y '(1 2)) =>(1 2) (eq x y) =>nil (setq z y) =>(1 2) (eq y z) =>t (defun Null (x) (cond ((eq x nil) t) (t nil))) =>Null (Null t) =>nil (Null nil) =>t (defun Null (x) (eq x nil)) =>Null (Null nil) =>t

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)
- 作者: 山本和彦
- 出版社/メーカー: アスキー
- 発売日: 2000/05
- メディア: 単行本
- 購入: 2人 クリック: 76回
- この商品を含むブログ (44件) を見る