1
私はserialize
関数でオブジェクトをシリアライズしています。例えば環境なしでクロージャをシリアライズ
serialize_object <- serialize(some_object, NULL)
今は閉鎖に問題があります。例:
closure <- function(){
member <- NULL
list(init=function(val){member <<- val})
}
closure_serialized <- serialize(closure(), NULL)
この生のオブジェクトclosure_serialized
は大きく、約200MBです。私はそれが作られた環境も連載されていると確信しています。しかし私はその環境は必要ありません。私は閉鎖とその内容だけが必要です。
何か間違っていますか?閉鎖を間違った方法で初期化または定義していますか?どのようにして環境の残りではなくクロージャを直列化するだけですか?いくつかのパッケージからクロージャをシリアライズすると、この効果はありません。原因を見つけることができません。
私は本当に答えてこのトピックに十分な自信がありません - しかし、私はこのブログの投稿があなたに非常に役立つかもしれないと信じています:http://www.win-vector.com/blog/2015/03/using- closure-as-objects-in-r /(特に「Closureの問題」セクションを参照してください) – HFBrowning
コメント欄 – HFBrowning
@HFBrowning、ありがとう!いくつかをクリアします。 –