本文介绍了f#重复定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
:我在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是否获得重复的定义?
Why does this complile? does c get duplicate definition?
推荐答案这是阴影;在函数/类/成员作用域中,任何后续的let绑定都将被具有相同名称的后续let绑定所遮盖.
This is shadowing; at function/class/member scope, any local let bindings will be shadowed by subsequent let bindings to the same name.
另请参见 Shadowing和嵌套函数
更多推荐
f#重复定义
发布评论