关于如何让两个方法相互呼叫(即有A()呼叫B()和B()呼叫A()),我有点困惑.似乎F#只在代码中遇到它后"看到"该方法,所以如果它没有,它只是说值或构造函数尚未定义.
我错过了一些非常基本的东西吗?
我偶然发现了F#中的这个问题.假设,我想声明两种相互引用的类型:
type firstType =
| T1 of secondType
//................
type secondType =
| T1 of firstType
//................
Run Code Online (Sandbox Code Playgroud)
我该怎么做,所以编译器不会生成错误?
基于“F#中关键字“in”的含义”的回答:
let (x = 2 and y = x + 2) in
y + x
Run Code Online (Sandbox Code Playgroud)
这不会像
let (x = 2 and y = x + 2)
y + x
Run Code Online (Sandbox Code Playgroud)
在前一种情况下x,只绑定在in关键字之后。在后一种情况下,正常的变量作用域规则生效,因此变量一经声明就被绑定。
当需要使用 , 指定绑定变量in而不是声明时绑定?