2011-05-19 10 views
5

en Fa # Powerpack matemáticas proveedor de código fuente: vi esto (en lapack_service_netlib.fs)definición # duplicado

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 

¿Por qué este complile? ¿c obtiene una definición duplicada?

Respuesta

7

Esto es sombreado; en el alcance de la función/clase/miembro, cualquier enlace local let se sombreará por las siguientes vinculaciones let con el mismo nombre.

Ver también Shadowing and Nested function

+0

veo. no a nivel de módulo Y siempre funciona en fsi.exe. – ahala