OCaml教程说,引用是“真实变量”,你可以在程序中分配并更改它。但是let绑定并不具有相同的作用。在此链接中指出,当一个名称由let绑定设置时,您不能“重新分配它来指向另一个小部件”。我理解引用实际上存储在内存中而let绑定则没有,但我不明白他们关于赋值的说法。
在Ocaml交互会话中进行实验,似乎let绑定和引用具有相同的功能,只是语法有些不同。如果我使用let绑定将一个变量名称设置为某个整数值,则该名称将返回该值,直到我解除它或将名称重置为不同的整数,这是let绑定允许的。对于int、float和string类型都是如此,但我还没有尝试其他类型。我漏掉了什么吗?
在Ocaml交互会话中进行实验,似乎let绑定和引用具有相同的功能,只是语法有些不同。如果我使用let绑定将一个变量名称设置为某个整数值,则该名称将返回该值,直到我解除它或将名称重置为不同的整数,这是let绑定允许的。对于int、float和string类型都是如此,但我还没有尝试其他类型。我漏掉了什么吗?
# let let_var = 2;;
val let_var : int = 2
# let_var;;
- : int = 2
# let let_var = 3;;
val let_var : int = 3
# let_var;;
- : int = 3