首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >F# main与main()语法

F# main与main()语法
EN

Stack Overflow用户
提问于 2017-01-22 03:41:07
回答 1查看 166关注 0票数 0

我只是想通过维基手册:Programming/来学习一些Programming/

请考虑以下示例:Data

代码语言:javascript
运行
复制
open System

let withSideEffects x =
    x := "assigned from withSideEffects function"

let refTest() =
    let msg = ref "hello"
    printfn "%s" !msg

    let setMsg() =
        msg := "world"

    setMsg()
    printfn "%s" !msg

    withSideEffects msg
    printfn "%s" !msg

let main() =
    refTest()
    Console.ReadKey(true) |> ignore

main()

我意识到他们把()放在每个有副作用的功能之后。删除大括号可以很好地编译,并将类型从单元->单元更改为单元。

问题:

  1. 这是F#程序员之间的某种沉默吗?
  2. 这两个语法中的一个有什么好处吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-22 09:45:46

()添加到绑定中,将其从立即执行的块(返回值绑定到标识符(本例中为unit))更改为接受unit并返回unit (写入为unit -> unit)的函数。

这样做的优点是可以推迟执行,并且可以多次执行。这可能是一种抽象化副作用的有用方法,但它只是您可以在日常工具包中使用的语言的一个简单属性。你可能想得太多了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41787084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档