Ich bin Objekte mit der serialize
Funktion Serialisierung.Serialize Schließung ohne Umgebung
Zum Beispiel
serialize_object <- serialize(some_object, NULL)
Jetzt habe ich ein Problem mit Schließungen. Zum Beispiel:
closure <- function(){
member <- NULL
list(init=function(val){member <<- val})
}
closure_serialized <- serialize(closure(), NULL)
Dieses rohe Objekt closure_serialized
ist riesig: einige 200MB. Ich bin mir ziemlich sicher, dass auch die Umgebung, in der es hergestellt wird, serialisiert ist. Aber ich brauche seine Umgebung nicht. Ich brauche nur den Verschluss und seinen Inhalt.
Mache ich etwas falsch? Initialisiere oder definiere ich die Schließung falsch? Wie kann ich es nur machen, um den Verschluss und nicht den Rest der Umgebung zu serialisieren? Serialisierungsabschlüsse von einigen Paketen haben diesen Effekt nicht, und ich kann den Schuldigen nicht finden.
Ich habe nicht genug Vertrauen in dieses Thema, um wirklich zu beantworten - aber ich glaube, dass dieser Blogbeitrag für Sie sehr hilfreich sein könnte: http://www.win-vector.com/blog/2015/03/using- Verschlüsse-als-Objekte-in-r/(besonders siehe Abschnitt "Probleme mit R-Verschlüsse") – HFBrowning
Lesen Sie auch die Kommentare – HFBrowning
@HFBrowning, danke! Räumt ein paar Dinge auf. –