Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#值阴影-是否可以在同一范围内禁用值阴影_F#_Shadowing - Fatal编程技术网

F#值阴影-是否可以在同一范围内禁用值阴影

F#值阴影-是否可以在同一范围内禁用值阴影,f#,shadowing,F#,Shadowing,由于复制/粘贴,我在自己的代码中发现了一个bug。相同的值名被复制/粘贴到相同的范围中 let func() = let a = 1 let a = something_else .... 在C语言中,我不会通过编译。有没有办法禁用阴影?至少在同一范围内 谢谢你不能在F#中禁用阴影——这是一项重要的语言功能 但是,您可以指示编译器发出警告或错误,这将帮助您捕获意外的阴影情况 在项目属性中,添加到“其他标志”文本框(在“构建”选项卡上的“平台目标”下拉列表下)。当您意外地

由于复制/粘贴,我在自己的代码中发现了一个bug。相同的值名被复制/粘贴到相同的范围中

let func() =
    let a = 1
    let a = something_else
    ....
在C语言中,我不会通过编译。有没有办法禁用阴影?至少在同一范围内


谢谢

你不能在F#中禁用阴影——这是一项重要的语言功能

但是,您可以指示编译器发出警告或错误,这将帮助您捕获意外的阴影情况

在项目属性中,添加到“其他标志”文本框(在“构建”选项卡上的“平台目标”下拉列表下)。当您意外地对变量进行阴影处理并导致它不能在任何地方使用时,这会触发编译器警告。如果您希望这些情况导致编译失败,还可以将
1182
添加到“生成”选项卡“将警告视为错误”部分下的“特定警告”文本框中


最后——安装扩展。它提供了额外的语法突出显示功能,并将指示未使用的变量,以便在代码中很容易发现它们。

不,这不可能与Thank jack重复。那正是我想要的。我还注意到F#电源组的值变灰。另一方面,你介意在这篇文章中详细说明为什么阴影对F#很重要吗?我不确定通过阴影必须完成什么工作流。似乎所有的不变性安全性都可以通过阴影轻易地撤销(我知道阴影不是突变)