Date: Mon, 05 Oct 1998 16:10:07 +0100
From: Serge Fantino <fantino@math.unice.fr>
To: caml-list@inria.fr
Subject: porté des définitions des variables de classe
Ocaml-2.0 autorise la déclaration de classe suivante:
class test =
object
val v = [|Random.int 1000|]
method get = v.(1)
method set x = v.(1)<-x
end
Bizarrement, les objets créés à partir de cette définition semblent
tous partager la meme variable v:
let a = new test;;
let b = new test;;
a#get;;
b#get;;
(* retourne la meme valeur *)
a#set (Random.int 1000);;
a#get;;
b#get;;
(* a et b sont tous les 2 modifiés *)
Si l'on déclare la classe différement:
class test () =
...
alors tout redevient "normal".
Est-ce que c'est un bug ? Ou est-ce une nouvelle fonctionnalitée ?
Serge Fantino
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:16 MET