由于复制/粘贴,我在自己的代码中发现了一个错误。相同的值名称会被同一范围内的复制/粘贴所遮盖。
let func() =
let a = 1
let a = something_else
....
在 C# 中我不会通过编译。有没有办法禁用阴影?至少在同级别范围内?
Thanks
您无法在 F# 中禁用阴影 - 这是一项重要的语言功能。
然而,你can指示编译器发出警告或错误,这将帮助您捕获以下情况偶然阴影。
在项目属性中添加--warnon:1182 http://blogs.msdn.com/b/fsharpteam/archive/2012/07/19/more-about-fsharp-3.0-language-features.aspx到“其他标志”文本框(在“构建”选项卡上的平台目标下拉列表下)。当您意外地隐藏变量并导致它无法在任何地方使用时,这会触发编译器警告。如果您希望这些情况导致编译失败,您还可以添加1182
到“构建”选项卡的“将警告视为错误”部分下的“特定警告”文本框。
最后——安装Visual F# 电动工具 https://visualstudiogallery.msdn.microsoft.com/136b942e-9f2c-4c0b-8bac-86d774189cff扩大。它提供了额外的语法突出显示功能,并将指示未使用的变量,以便轻松在代码中发现它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)