Memoize

BasicWerk   EC Support   Technique   Facebook  

20140829114205_Common_Lisp_defstruct_sample

Common_Lisp_defstruct_sample

 

 

 
;; foo という構造体。bar, baz というスロット
* (defstruct foo bar baz)
FOO
 
;; s というシンボルにインスタンスをバインド
;; bar, baz はキーワードで指定する
* (defparameter s (make-foo :bar 100 :baz "aaa"))
S
* s
#S(FOO :BAR 100 :BAZ "aaa")
 
;; スロットから値を取り出す
;; (struct_name-slot struct_instance)
* (foo-bar s)
100
* (foo-baz s)
"aaa"
 
;; スロットの値を変更
* (setf (foo-baz s) "sss")
"sss"
* (foo-baz s)
"sss"
 

 

http://www.n-a-n-o.com/lisp/cmucl-tutorials/LISP-tutorial-15.html

 


© Shin Nakamura/BasicWerk 2014