【发布时间】:2018-05-31 12:26:19
【问题描述】:
基于“F#中关键字“in”的含义”的anwser:
let (x = 2 and y = x + 2) in
y + x
这不会和
一样工作let (x = 2 and y = x + 2)
y + x
在前一种情况下,x 仅绑定在 in 关键字之后。在后一种情况下,正常的变量作用域规则生效,因此变量一经声明就被绑定。
何时需要使用in 指定绑定变量,而不是像声明时那样绑定?
【问题讨论】:
-
那甚至不是有效的 F#。
let只允许一个绑定。而且,据我了解,总是有in,但轻量级语法 允许您省略它。 -
@PetSerAl 应该是
let x = 2 in y = x + 2 in y +x,我刚刚复制了接受的答案。 -
语法正确应该是
let x = 2 in let y = x + 2 in y + x。
标签: .net f# functional-programming