Shammer's Philosophy

My private adversaria

CLOSエクササイズ第05回

クラスを生成した後でフィールドにアクセスするために accessor を使用していたが、reader と writer というものを使用して setter と getter を分割することもできると知った。Java をやっていた自分としてはこの方が使い易いと思う。

? (defclass foo ()
((x :reader getx
    :writer setx)))
#<STANDARD-CLASS FOO>
? (setf n (make-instance 'foo))
#<FOO #x3020010555CD>
? (setx 10 n)
10
? (getx n)
10
?

どちらがいいかは好みなのかもしれないが、今後はこっちを使っていこうと思う。