Version française
Home     About     Download     Resources     Contact us    
Browse thread
porté des définitions des variables de classe
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jacques GARRIGUE <garrigue@k...>
Subject: Re: porte des definitions des variables de classe
From: "Sylvain BOULM'E" <Sylvain.Boulme@lip6.fr>

> Par contre, il est vrai que je trouve surprenant que :
> 
>   class test2 =
>     let v=ref 5
>     in fun () -> 
>           object 
>             method get = !v
>             method set x = v:= x
>          end;;
> 
>   let f=new test2 in 
>     let a=f() and b=f() in (b#set 4; a#get);;
> 
> retourne 5
> 
> au lieu de retourner 4, comme on s'y attenderait....

Ca m'a tout l'air d'un bug du compilateur.

    let a = new test2 () and b = new test2 () in (b#set 4; a#get);;

donne le meme resultat decevant, interdisant la creation de vraies
variables de classe.

	Jacques