关于Ocaml Refs的初学者问题

时间:2011-05-13 14:24:28

标签: ocaml refs

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

你应该通过插入一些东西得到50的答案? (不是影子)。但我现在不知道如何更改原始引用的值,考虑到x:= 50现在将适用于SECOND x ....

2 个答案:

答案 0 :(得分:4)

如果它确实是一个“初学者问题”,那可能不是预期的答案。但我不知道“预期的答案”是什么,所以让我们反而入侵。

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

relevant link

答案 1 :(得分:1)

现在无法访问原始x。所以......影子f