Hi David,
Because the arguments passed to functions could be considered as references (same memory space), IMHO, if you respect the scope priority it should work.
For instance:
let () =
let h = Hashtbl.create 7 in
let f k v = Hashtbl.remove h k in
Hashtbl.iter f h
Julien.
Hello,
Probably a newbie question but anyway: is it allowed to do a
Hashtbl.remove while doing a Hashtbl.iter on the same hash table?
More precisely, at one point while doing a "Hashtbl.iter f h" my
function "f" is called with something like "f k v". Can I do a
"Hashtbl.remove h k" within the body of "f"?
Sincerely yours,
david
--
GPG/PGP key: A3AD7A2A David MENTRE <dmentre@linux-france.org>
5996 CC46 4612 9CA4 3562 D7AC 6C67 9E96 A3AD 7A2A
_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs