2017-02-19 2 views
2

保存ファイルに任意のCommon Lispの構造オブジェクトをオブジェクト(読み取り可能)CLOSのオブジェクトインスタンスの保存CLOSは

(defun save-structure-object (object filename) 
    (with-open-file (stream filename :direction :output 
            :if-exists :supersede) 
    (with-standard-io-syntax (print object stream)))) 

のようなもので、比較的簡単なようで、しかし、Make clos objects printable in lispのポストは、より複雑なレシピを示しています。

まず、close-mopに関するコメントは、クロースクラスのインスタンスを保存する簡単なアプローチに関連していますか?

そして、第2に、クローズインスタンスを印刷するための一般的なユーティリティとして提示されているコードですか?

答えて

1

Closer to MOPは、あなたが参照する投稿の読み取り時条件付きの危険な混乱を避けることを可能にします。一般に、多くの人々が使用するOOTBソリューションを使用することは、あなた自身または他人のランダムなアドホックハッキングよりも安全です。

closer-mopが周りにいた前に、私は自分自身でCLOS/MOP compatibility layerCLOS object i/oと書いていました。私はあなたが参照するSO答えのコードの代わりに使用することをお勧めします。