3

ref 演算子を考慮すると、そのアプリケーションと次の指示の意味を理解するのに苦労しています。

1.

この定義では、何を定義していますか?

 - val ref x=ref 9;

 val x = 9 : int

2.

そして、ここで私はref x:= ref 12で何をしていますか?

 - val x= ref 8;

 val x = ref 8 : int ref

 - ref x := ref 12; 

 val it = () : unit

 - x;

 val it = ref 8 : int ref
4

2 に答える 2

7

val ref x = ref 9は、あたかもあなたが書いたかのように - と定義xします。これは、がコンストラクターであるためです。つまり、9にバインドされるpattern に対して値をパターン マッチングするためです。9val x = 9refref 9ref xxval x = 9

を記述するときはref x := ref 12、 を参照する新しいref(型のint ref ref) を作成しxます。次に、その new をではなくrefを参照するようにすぐに変更します。作成した新しいファイルは、アクセスできる場所に保存されることはないため、目に見える影響はありません。ref 12xref

于 2013-04-21T18:31:18.463 に答える