Masatake YAMATO
yamat****@redha*****
2010年 5月 13日 (木) 19:06:23 JST
これ、どうでしょうか? こんにちは <top>に対するfallback付きrefと<list>に対するsettterがあった方が 一貫性があって良いと思います。 大和 --- src/objlib.scm (revision 7109) +++ src/objlib.scm (working copy) @@ -657,6 +657,10 @@ (define-method ref ((obj <top>) (slot <symbol>)) (slot-ref obj slot)) +(define-method ref ((obj <top>) (slot <symbol>) fallback) + (if (slot-bound? obj slot) + (slot-ref obj slot) + fallback)) (define-method (setter ref) ((obj <top>) (slot <symbol>) value) (slot-set! obj slot value)) @@ -682,6 +686,8 @@ (vector-ref obj index)) (define-method ref ((obj <string>) (index <integer>)) (string-ref obj index)) +(define-method (setter ref) ((obj <list>) (index <integer>) val) + (set-car! (list-tail obj index) val)) (define-method (setter ref) ((obj <vector>) (index <integer>) val) (vector-set! obj index val)) (define-method (setter ref) ((obj <string>) (index <integer>) val)