F# повторяющееся определение
В 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
получить повторное определение?
1 ответ
Решение
Это слежка; на уровне функции / класса / члена, любой локальный let
привязки будут затенены последующими let
привязки к тому же имени.
Смотрите также Shadowing и Nested function