Browse thread
porté des définitions des variables de classe
- Serge Fantino
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Serge Fantino <fantino@m...> |
| 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