有没有办法在 Visual Studio 中的 F# 中发出阴影值警告?

2023-11-26

对我来说,现有价值观的阴影如下所述:

阴影和嵌套函数
F# 中不可变
f# 重复定义
FSharp 好玩又赚钱的评论

似乎违背了使 F# 如此强大的不变性和类型安全的概念。 F# 中的阴影工作不同的比在 C# 中。我花了相当长的时间才发现我的代码中的错误是由于无意中隐藏了同一范围内的名称造成的。有没有办法让编译器对 VS 中的隐藏值发出警告?

我知道在某些情况下它是有用的。例如对于检查算术 .


我使用阴影的一个地方是,如果未提供任何值,则将可选参数解析为默认值。

member x.Foo(?myFlag: bool) =
    let myFlag = defaultArg myFlag false
    ...

另外,如果我们没有阴影,F# Interactive 现在的实现方式将几乎完全不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 Visual Studio 中的 F# 中发出阴影值警告? 的相关文章

随机推荐

  • for循环不迭代

    在 MATLAB 中如下for loop for i 1 100 Do something such as disp i end 显然并不是真正通过迭代实现的 而是i变成矩阵 1 2 3 100 并且 循环 仅在此矩阵上执行一次i 您可以通
  • 使用 primefaces 扩展 (inputNumber)

    我是新来的primefaces词 我需要使用primefaces扩展名 inputNumber 在 XHTML 文件中我添加 taglib xmlns pe http primefaces org ui extensions 添加罐子时 p
  • 为什么 switch 语句不能应用于字符串?

    编译以下代码会出现错误消息 type illegal int main Compilation error switch expression of type illegal switch std string raj case sda 您
  • 为导航抽屉中的 Android 状态栏着色

    在我正在构建的这个应用程序中 我在我的活动中添加了一个导航抽屉片段 我使用的是 5 0 因此我能够设置primaryColor 和primaryColorDark 以获得正确的颜色 我决定尝试将我的导航抽屉设计得与 Google Now 5
  • Apache2中子文件夹目录浏览

    有一个文件夹位于http myserver 文件夹 我已禁用该文件夹的目录浏览 但我想启用子文件夹的目录浏览http myserver 文件夹 我怎样才能做到这一点 Thanks 这是一个可行的简单解决方案
  • 如何创建打开呼叫日志活动的 Intent?

    我想创建一个 Intent 打开显示当前设备通话记录的屏幕 我如何指定这样的意图 Barmaley 引导我找到了正确的路径 我将类型设置为 Calls ContentType Intent showCallLog new Intent sh
  • Terraform 启用 VM Insights

    有人设法通过 terraforms Insights 为虚拟机启用吗 我能够创建虚拟机 启用日志记录 但无法启用见解 我见过这个问题 但没有找到明确的答案 如何使用 terraform 启用 azure vm application Ins
  • 如何设置 NSExtensionActivationRule 谓词?

    Even 人们比我聪明得多找到语法NSExtensionActivationRule神秘 但即使是像我这样的傻瓜也应该能够复制 粘贴示例 不是吗 不幸的是我什至无法得到苹果的例子上班 当您点击共享表按钮 下面的堆栈跟踪 时 我的操作扩展的主
  • 如何在 JavaScript 更改后重绘 SVG(Internet Explorer 和 Edge)

    有谁知道如何在更改内容后强制 IE 和 Edge 显示 刷新嵌入的 SVG 请参阅下面的代码
  • 如何杀死多进程中的所有池工作人员?

    我想停止单个工作人员的所有线程 我有一个有 10 个工作线程的线程池 def myfunction i print i if i 20 sys exit p multiprocessing Pool 10 init worker for i
  • 所有示例并发.futures 代码均因“BrokenProcessPool”而失败

    在创建我需要的实际应用程序之前 我试图对此有一个基本的了解 我最近从 2 7 升级到 3 3 直接复制粘贴这段代码来自 python 文档失败了 一个稍微简单的例子也是如此here 这是我的代码 源自第二个示例 import concurr
  • 通过属性版本控制在 Swagger 中利用 MultipleApiVersions

    使用属性路由时是否可以在 Swagger UI Swashbuckle 中利用 MultipleApiVersions 具体来说 我通过以下方式实现了版本控制 using System Web Http namespace RESTServ
  • Subversion - 始终使用我的解决一组文件的冲突

    我们在 subversion 中保留了大量自动生成的代码 有时我正在处理发电机的一个部件 而另一个同事正在处理发电机的另一个部件 我们中的一个人签到 另一个人得到最新的信息 现在我们生成的代码存在冲突 因为它是生成的 所以下次生成器运行时它
  • 获取总和最大的子矩阵?

    Input 二维数组 NxN 矩阵 具有正数和负数元素 Output 任意大小的子矩阵 其总和是所有可能的子矩阵中的最大值 要求 算法复杂度为O N 3 History 在算法师 Larry 的帮助下以及对 Kadane 算法的修改 我成功
  • java中查找字符串的所有大写字母

    所以我试图找到用户输入的字符串中的所有大写字母 但我不断收到此运行时错误 Exception in thread main java lang StringIndexOutOfBoundsException String index out
  • 删除特定匹配后的所有字符

    我正在使用 Notepad 从模式末尾删除一些不需要的字符串 这对我来说已经是我的生活了 我有以下几组字符串 myApp ComboPlaceHolderLabel myApp GridTitleLabel myApp SummaryLab
  • 使用 importlib 动态导入包含相对导入的模块

    我试图弄清楚如何以编程方式执行包含相对导入的模块 伪代码 spec importlib util spec from file location name path mod importlib util module from spec s
  • Xcode 和 XIB 自我文档 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有没有一个工具可以记录许多 Xcode 绑定 插座和IBAction绑定 键值绑定等 我看过以下主题Doxygen and 标题文档 但是这些文档程
  • 如何使用FirefoxProfile通过Firefox浏览器自动下载?

    我正在使用 selenium java 我需要下载 pdf 文件 我提到this this并且this答案在这里 但似乎在我的情况下没有任何效果 是否是由于设置了新的 Firefox 驱动程序实例 即System setProperty w
  • 有没有办法在 Visual Studio 中的 F# 中发出阴影值警告?

    对我来说 现有价值观的阴影如下所述 阴影和嵌套函数 F 中不可变 f 重复定义 FSharp 好玩又赚钱的评论 似乎违背了使 F 如此强大的不变性和类型安全的概念 F 中的阴影工作不同的比在 C 中 我花了相当长的时间才发现我的代码中的错误