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/