考虑到ref运算符,我无法理解它的应用程序以及遵循指令的意义:
1.
在这个定义中,我定义了什么?
- val ref x=ref 9;
val x = 9 : int
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
val ref x = ref 9定义x为9- 就像你写的一样val x = 9.这是因为ref是一个构造函数,所以它的模式匹配的价值ref 9与模式ref x,结合x到9当然写像这样,而不是仅仅写val x = 9让人很没有意义.
在编写时ref x := ref 12,您创建一个引用的新ref(类型int ref ref)x.然后你立即改变那个新ref的引用ref 12而不是x.由于ref您创建的新内容永远不会存储在您可能访问的任何位置,因此没有可观察到的效果.
| 归档时间: |
|
| 查看次数: |
2577 次 |
| 最近记录: |