1
let x = ref 100 in
let f () = !x in
let x = ref 50 in
??? ; f ()

??? に何かを差し込むことで、答えが 50 になるはずです。(シャドウイングではありません)。しかし、x := 50 が SECOND x に適用されることを考えると、元の参照の値を変更する方法がわかりません....

4

2 に答える 2

4

それが本当に「初心者の質問」である場合、それはおそらく期待される答えではありません。しかし、「期待される答え」が何なのかわからないので、代わりにハックしましょう。

Obj.(obj (field (repr f) 1)) := 42;;

関連リンク

于 2011-05-13T20:51:18.357 に答える
1

現在、オリジナルにアクセスする方法はありませんx。だから..影f

于 2011-05-13T15:28:00.223 に答える