Bonjour à tous,
depuis un moment, je ne sais comment écrire un code en O'Caml. Alors je l'ai écrit d'une façon mais cela ne me semble pas être une bonne pratique.
Voici comment j'extraie une clé d'une table de hachage en fonction de la valeur :
L'utilisation de ce "ref None" est-elle correcte ? N'y aurait-il pas possibilité de faire autrement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 let get_key path_target = let key = ref None in Hashtbl.iter (fun wd fi -> if fi.path = path_target then key := (Some wd)) ht_iwatched; match !key with | None -> let err = ("error get_key with "^path_target^" not found") in Report.report (Log err) ; raise No_Result | Some k -> k ;;
Est-il possible de déclarer une variable à un type bien précis mais sans lui donner de valeur et sans passer par le type Option ?
Dest.
Partager