.net - 函数未被调用指定次数

标签 .net f#

open System

let repeat action count =
    for i in 1..count do
        action

let print =
    printfn "Test"

repeat print 10

导致“测试”只打印一次。打印10次应该怎么写?如果 10 当前未使用,为什么没有警告?

最佳答案

问题是您没有将 print 定义为一个函数,而是一个常量值。

函数应该至少有一个unit参数:

open System

let repeat action count =
    for i in 1..count do
        action ()

let print () =
    printfn "Test"

repeat print 10

在您的原始代码中,打印的副作用只发生一次,即在 print 的定义处。

并且没有警告,因为 print 使用它,但它的值是 (),这是 printfn "test"< 返回的值 函数调用。

关于.net - 函数未被调用指定次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70340319/

相关文章:

c# - Response.Redirect 方法的 endResponse 参数的默认值是多少

c# - 是否可以在不使用任何实际电子邮件帐户的情况下以编程方式发送电子邮件

.net - 在 .net 应用程序中使用 Cucumber 和 rspec 的教程

f# - 在异构列表上,是否可以使压缩然后解压缩与原始列表相同?

c# - 您使用哪些信息/视频来源来学习使用 C# 进行 Web 开发的新技术?

c# - 如果您编写在 .NET Core 上运行的 C# 或 F# 程序,相同的字节码是否也会在 .NET 上运行(没有安装 .NET Core)?

f# - 在 f# 中提取结果或使用 Result 聚合错误的简洁方法

function - F# 函数参数类型注释不起作用

c# - 检测 .NET 程序集以捕获单元测试

f# - 在 F# 中将列表分组为列表列表