est une opération très longue qui génère un jeu de données dans mon package. Je voudrais enregistrer cet ensemble de données et laisser le package le reconstruire uniquement lorsque je supprime manuellement le fichier mis en cache. Voici mon approche dans le cadre du paquet:La mise en cache de données dans Mathematica
myDataset = Module[{fname, data},
fname = "cached-data.mx";
If[FileExistsQ[fname],
Get[fname],
data = Evaluate[timeConsumingOperation[]];
Put[data, fname];
data]
];
timeConsumingOperation[]:=Module[{},
(* lot of work here *)
{"data"}
];
Cependant, au lieu d'écrire les longues ensemble de données dans le fichier, la commande Put écrit une seule ligne: « timeConsumingOperation [] », même si je l'enveloppe avec Évaluer comme ci-dessus. (Pour être vrai, ce comportement n'est pas cohérent, parfois l'ensemble de données est écrit, parfois non.)
Comment mettez-vous en cache vos données?
Cela semble résoudre mon problème. Merci! –