f# - 什么时候在F#中放入双分号?

标签 f#

这是一个愚蠢的问题。我已经读了几本关于F#的书,找不到什么可以解释您何时放进去;发表声明后,我也无法在阅读中找到规律。您何时以双分号结束声明?

最佳答案

在不应该与OCaml兼容的非交互式F#代码中,您永远不需要双分号。在OCaml兼容模式下,您可以在顶级函数声明的末尾使用它(在最新版本中,可以通过使用带有.ml扩展名的文件或在顶部添加#light "off"来切换到此模式)。

如果您在Visual Studio中使用命令行fsi.exe工具或F#Interactive,则将使用;;结束F#的当前输入。

当我在StackOverflow(以及my book的代码示例)中将代码示例发布到此处时,当我还想显示在F#交互式中计算表达式的结果时,我在列表中使用;;:

  • 来自F#交互式的列表
    > "Hello" + " world!";;
    val it : string = "Hello world!"
    > 1 + 2;;
    val it : int = 3
    
  • 标准F#源代码
    let n = 1 + 2
    printf "Hello world!"
    

  • 有时,将输出显示为 list 的一部分也很有用,所以我发现此表示形式非常有用,但我从未在任何地方进行解释,因此您提出来的意思很好!

    关于f# - 什么时候在F#中放入双分号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2669299/

    相关文章:

    f# - "Target F# runtime:"的 "N/A"是名义上的吗?

    c# - 以编程方式运行 MSBuild 任务并访问输出

    f# - 当带有 seq 类型参数的函数是记录字段时,它将不再接受列表或数组

    f# - 使用 FsUnit 断言一些

    asynchronous - 等待线程池中启动的异步工作流程

    f# - 假 + Nunit : Can't find nunit-console. exe

    f# - 事件模式的重点是什么?

    f# - F# 中的不可变值

    silverlight - 将前景转换器添加到 xaml 中的 DatagridTextColumn

    types - F# Int 的平方根