Enregistrer et charger un résultat sous Caml

Jice

Enregistrer et charger un résultat sous Caml

Message par Jice » 03 juin 2006 15:41

Bonjour, une des étapes de mon Tipe passe par un long calcul (temps moyen 5/6 min), et je trouve assez stupide de devoir le refaire à chaque redémarrage de mon programme.


Comment enregistrer facilement, puis recharger une telle donnée? Dans mon cas il s'agit d'une simple liste, mais je pense que la technique est identique pour les tableaux et autres (et de toute manière je m'en servirai pour un tableau).

Merci d'avance!

AnimTeck

Message par AnimTeck » 03 juin 2006 17:23

Tu peux faire un copier-coller dans un fichier "result.ml" (par exemple) et rajouter au début de ton programme [ include "result.ml" ] (sans les crochets).
Voilà une solution...
En espérant que ça t'aidera.
Bon courage pour tes TIPE

Jice

Message par Jice » 03 juin 2006 22:37

Y a-t-il un moyen de copier le résultat fourni par caml de façon automatique? Puisque en fait le tableau est "rongé" par caml, le résultat étant trop long, je ne vois que les quelques premières lignes.

A part la crétion d'un programme qui m'écrira mon tableau itérativement, n'y a-t-il pas une fonction du genre "write resultat save.ml" qui fasse cela à ma place?

Jedai

Message par Jedai » 05 août 2006 22:25

Dans la librairie standard d'Objective Caml (et de Caml Light, mais je recommande d'utiliser Objective Caml pour des projets de TIPE, ça fait plus sérieux :wink: ), il y a une fonction output_value :

Code : Tout sélectionner

val output_value : out_channel -> 'a -> unit

Write the representation of a structured value of any type to a channel. Circularities and sharing inside the value are detected and preserved. The object can be read back, by the function input_value. See the description of module Marshal for more information. output_value is equivalent to Marshal.to_channel with an empty list of flags.
--
Jedaï

Répondre