6

在 F# powerpack 数学提供程序源代码中:我看到了这个(在 中lapack_service_netlib.fs

member this.dgemm_((a:matrix),(b:matrix)) =  
 // allocate results
  let c = Matrix.zero (m) (n)
  // transpose
  let c = Matrix.transpose c
...
  // fixups
  let c = Matrix.transpose c
  // result tuple
  c

为什么这样编译?会c得到重复的定义吗?

4

1 回答 1

8

这是阴影;在函数/类/成员范围内,任何本地let绑定都将被随后let的同名绑定所掩盖。

另请参阅阴影和嵌套函数

于 2011-05-19T19:21:22.760 回答