[o'caml] fonctions de formatage de chaines

 fonctions de formatage de chaines [o'caml] - Langages fonctionnels - Programmation

Marsh Posté le 10-10-2008 à 15:49:23    

Salut les jeunes,  
 
Je suis en train de jouer avec Lacaml (le binding LAPACK pour o'caml) et comme je suis un gars bien je fais des tests.  
pour tester, j'utilise OUnit.
 
donc dans OUnit, y'a une super fonction assert_equal à qui on peut passer un printer ('a -> string) si l'égalité chie qu'on ait un peu d'information.
 
Donc moi je compare des vecteurs et donc je dois les afficher avec le truc kivabien
 
donc si je tente de mélanger le tout naïvement ça donne ça :

"lol" >:: (fun () ->
    assert_equal ~printer: (fun x -> sprintf "%a" pp_fvec x) (Vec.of_array [| 30.; 15.; - 6. |]) (Vec.of_array [| 30. |])
 )


 

File "testing.ml", line 60, characters 50-57:
This expression has type
  (float, 'a) Lacaml.Io.pp_vec =
    Format.formatter ->
    (float, 'a, Bigarray.fortran_layout) Bigarray.Array1.t -> unit
but is here used with type unit -> 'b -> string
Command exited with code 2.


 
(les caractères en question c'est "pp_fvec" )
 
et j'y capte rien à ce message, si quelqu'un pouvait m'aider, ça serait cool.  :hello:  
 
tout ce que je veux c'est une fonction qui prend un vecteur en entrée et me sort une chaine en sortie.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-10-2008 à 15:49:23   

Reply

Marsh Posté le 10-10-2008 à 21:45:46    

up :fou:


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 11-10-2008 à 17:53:28    

up :(


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 11-10-2008 à 18:37:46    

Apparement personne fait de caml ici ([:dawa]), t'as essayé de poser ta question sur http://groups.google.com/group/fa.caml/topics ou http://tech.groups.yahoo.com/group/ocaml_beginners/ ? Ou de paster quelque part et d'aller demander sur #ocaml@irc.freenode.net ?


Message édité par masklinn le 11-10-2008 à 18:38:03

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 11-10-2008 à 18:47:40    

non, ça me fait chier d'aller ailleurs.
J'vais écrire à un pote. En fait ce qui m'inquiète le plus c'est que je trouve aucune doc un peu évoluée sur printf, alors que tout le monde dit que c'est un hack du compilo.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 11-10-2008 à 18:52:52    

nraynaud a écrit :

non, ça me fait chier d'aller ailleurs.


Ouais enfin quand même, ouvrir un chan IRC c'est pas la mer à boire, et si tu te mets à faire du caml ça pourrait ptet aider un peu, de commencer à te rapprocher de mecs qui en font aussi [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 11-10-2008 à 18:59:38    

ouais, mais j'irai sur les ML, pas sur IRC [:pingouino]


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 11-10-2008 à 19:11:10    

nraynaud a écrit :

ouais, mais j'irai sur les ML, pas sur IRC [:pingouino]


Vazy kesta contre irc [:master_jul]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 11-10-2008 à 20:48:03    

Je tenterais bien un truc du genre:

"lol" >:: (fun () ->
    assert_equal ~printer: (fun x -> pp_vec Format.str_formatter x;Format.flush_str_formatter ()) (Vec.of_array [| 30.; 15.; - 6. |]) (Vec.of_array [| 30. |])
 )


 

Reply

Marsh Posté le 11-10-2008 à 20:56:11    

hop le petit verdoux gagne une tringle à rideaux en os de T-rex fossilisé. à une petit erreur de frappe près ça marche.
 
Par contre ça me fait chier, comme je peux pas formater, le résultat est tout moche et chiant à lire.


---------------
trainoo.com, c'est fini
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed