This site is updated infrequently. For up-to-date information, please visit the new OCaml website at ocaml.org.

[Caml-list] Problem in modifying a mutable element in an array
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
 Date: -- (:) From: WatchDog Subject: [Caml-list] Problem in modifying a mutable element in an array
```Hello !
My problem has first appeared in a CamlLight implementation, but I have
then tried to do the same on O'Caml and the problem remained equal. But
I'm sure you'll be able to provide some help, won't you ?
In Caml Light :

#open "random";;
type agent = { mutable initial : int ; mutable courant : int ;
mutable longueur : float ; mutable liste_parcourue : int
list ;
à_visiter : int vect } ;;
let agent_init = { initial = 0 ; courant = 0 ; longueur = 0. ;
liste_parcourue = [] ;
à_visiter = make_vect n 1 } ;;
let f = make_vect m agent_init ;;

let set_f () = for p = 0 to (m-1) do
begin
f.(p).initial <- (int n) ;
f.(p).courant <- (int n) ;
f.(p).liste_parcourue <- [(int n)] ;
f.(p).à_visiter.(int n) <- 0
end
done
;;

And then set_f() doesn't work properly : it seems Caml refuses to modify
one element (for instance f.(5).initial) without modifying automatically
all its brothers, e.g. all the f.(i).initial ; for i from 0 to (m-1).
The fact is that I'd like to modify it element-by-element, and not all
at the same time.

Your help would be a real relief !!
Thanks

JB, from Paris.

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

```