gpt4 book ai didi

f# - F#中的入口点问题

转载 作者:行者123 更新时间:2023-12-02 05:30:18 25 4
gpt4 key购买 nike

我有以下程序:

let readStoriesInQAForm = 
printfn "Inside the let!"
0

[<EntryPoint>]
let main argv =
printfn "Ah! entering point to the main!"
System.Console.ReadKey() |> ignore
0 // return an integer exit code

我期望得到以下输出(因为 main 是入口点,并且没有函数调用):
Ah! entering point to the main!

但是当我在 VS 2013 中编译并运行它时,我得到了这个:
Inside the let!
Ah! entering point to the main!

我的错误是什么?

最佳答案

在 F# 程序中,代码基本上是从上到下运行的,以便以后需要的任何值都可用。

例如,如果你写了:

[<EntryPoint>]
let main argv =
printfn "Ah! entering point to the main!"
printfn readStoriesInQAForm
System.Console.ReadKey() |> ignore
0 // return an integer exit code

观察到的行为是完全合理的,因为跳出 main 来计算一个常数值是不合逻辑的。

为避免此问题,您需要制作 readStoriesInQAForm一个函数,像这样:
let readStoriesInQAForm() = ...

关于f# - F#中的入口点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24112601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com