gpt4 book ai didi

F# - 损坏 "then"

转载 作者:行者123 更新时间:2023-12-02 06:09:10 29 4
gpt4 key购买 nike

我目前正在尝试制作一个非常简单的应用程序,它会根据一天中的时间问候。我的代码是:

open System

let read() = Console.Read()
let readLine() = Console.ReadLine()

let clockMsg min max todo =
if (DateTime.Now.Hour > min) && (DateTime.Now.Hour < max) then todo

let name = readLine()

clockMsg 0 8 <| printfn "Go to bed, %s!" name
clockMsg 8 12 <| printfn "Good morning, %s!" name
clockMsg 12 18 <| printfn "Good afternoon, %s!" name

read() |> ignore

现在我的问题是,怎么可能只有一个函数调用有效,而所有三个函数调用无论如何都会打印它们的消息?

最佳答案

同意 BrokenGlass 的观点。您可能想要做的是:

clockMsg 0 8 (fun() -> printfn "Go to bed, %s!" name)

clockMsg 中的更改:

let clockMsg min max todo = 
if (DateTime.Now.Hour > min) && (DateTime.Now.Hour < max) then todo()

关于F# - 损坏 "then",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287023/

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