#I "PathT-6ren">
gpt4 book ai didi

f# - Printfn 值不是函数,不能在 F# 的交互窗口中应用

转载 作者:行者123 更新时间:2023-12-04 22:52:52 24 4
gpt4 key购买 nike

这可能很简单,但我有一个包含简单示例函数的 .fs 文件。

let printHello = printfn "%A" "Hello"

我已经使用

将搜索路径设置为 .fs 文件
>#I "PathToMyFSFile"

我已经使用

加载了我的文件
>#load "Test.fs"

效果很好。现在我想调用将 hello 实际打印到屏幕的函数,但事实证明那太难了

> Test.printHello;;
val it : unit = ()

尝试过 Test.printHello();;同样,但不起作用。我实际上如何让它在屏幕上打印“Hello”?

最佳答案

您当前的 printHello 实际上不是一个函数。要使其成为您需要做的功能

let printHello() = printfn "%A" "Hello"

注意 ()。然后一切都应该工作。

编辑:

当编译器看到你的定义时

let printHello = printfn "%A" "Hello"

它将它作为一个简单的数据项传递。例如,考虑这个程序:

let printHello = printfn "%A" "Hello"
printfn "World"
printHello

这将打印 "Hello" 然后是 "World"printHello 只有单位类型,所以什么都不做。对比一下

let printHello() = printfn "%A" "Hello"
printfn "World"
printHello()

这里 printHello 是一个函数。在这种情况下,函数仅在显式调用时执行,因此打印 "World" 然后是 "Hello"

关于f# - Printfn 值不是函数,不能在 F# 的交互窗口中应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8091681/

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