オペレーターについていくつかのチェックを行いましたが:=
、問題がないことを確認したいと思います。
させて -
val r1 = ref 1 ; (* !r1 = 1 *)
val r2 = ref 2 ; (* !r2 = 2 *)
val r3 = ref 3 ; (* !r3 = 3 *)
r1 := !r2 ; (* !r1 = 2 *)
r2 := !r3 ; (* !r2 = 3 *)
!r1 ; (* still !r1 = 2 *)
r2 := !r3 ;
どうやらそれによって!r1
値も変更されると思いました が、発生しませんでした。そのため、と同じアドレスをr1 := !r2 ;
指していないようですが 、新しいメモリを割り当ててそこに値 を設定するだけです。r1
r2
!r1
2
私は正しいですか?