Common Lispなので、
setqじゃだめですね。
- 構造体を定義する
- 構造体のインスタンスを作成する
- 構造体のメンバにアクセスする
(defstruct person name age (sex 'unknown)) ; sexのデフォはunknown (setq tom (make-person :name "Tom" :age 10 :sex 'male)) ; => [cl-struct-person "Tom" 10 male] (make-person :name "Bill") ; => [cl-struct-person "Bill" nil unknown] ;; クローン人間 (copy-person tom) ; => [cl-struct-person "Tom" 10 male] ;; Tomは人間 (person-p tom) ; => t (person-p 'not-person) ; => nil ;; メンバを読み取る (person-name tom) ; => "Tom" (person-age tom) ; => 10 (person-sex tom) ; => male ;; メンバ更新 (setf (person-age tom) 12) ; => 12 tom ; => [cl-struct-person "Tom" 12 male] (ignore-errors(setq (person-age tom) 12)) ; => nil (incf (person-age tom)) ; => 13 tom ; => [cl-struct-person "Tom" 13 male]
P202
- 作者: るびきち
- 出版社/メーカー: 技術評論社
- 発売日: 2011/11/26
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 220回
- この商品を含むブログを見る