ダンプオブジェクト

EusLispのリーダとプリンタは、どのようなオブジェクトも再読みだし可能な書式 でファイルに出力できるように設計されている。 オブジェクトは相互参照あるいは再帰参照を持っていてもよい。 *print-circle**print-object*にTを設定したとき、この特徴は は可能となる。 次の関数はこれらの変数をTにし、ファイルをオープンし、オブジェクトを表示する。 これらの関数のもっとも重要な用途は、相互参照を持つ3Dモデルの 構造体をダンプすることである。



dump-object file &rest objects [関数]



dump-structure file &rest objects [関数]
再び読み戻しができるような書式でfileobjectsをダンプする。


dump-loadable-structure file &rest symbols [関数]

symbolにバインドされたオブジェクトをfileにダンプする。 そのfileは簡単にロードすることによって読み戻すことができる。


(setq a (make-cube 1 2 3))

;; sample for dump-object
(dump-object "a-cube.l" a)
(with-open-file
  (f "a-cube.l" :direction :input)
  (setq a (read f)))
(print a)

;; sample for dump-structure
(dump-structure "a-cube.l" a)
(with-open-file
  (f "a-cube.l" :direction :input)
  (setq a (read f)))
(print a)

;; sample for dump-loadable-structure
(dump-loadable-structure "a-cube.l" a)
(load "a-cube.l")
(print a)



2016-04-05