带参数约束的F#函数

带参数约束的F#函数,f#,F#,我遇到了一个类似于Hubbs论坛帖子的错误,它解决了我的问题,但引发了一些关于该线程中代码的问题 let test x = printfn "n" let finall x = x : 'a -> unit let i x = finall test x 所以它只是一个函数,接受一个函数并返回该函数。 执行第2行和第3行的原因是什么? 您以后能否定义一个函数体来最终? 看来您不必在第三行插入调用,这是第2行的结果吗?是的,该线程上的代码没有多大意义。”finall’基本上是标识函数(让id x=

我遇到了一个类似于Hubbs论坛帖子的错误,它解决了我的问题,但引发了一些关于该线程中代码的问题

let test x = printfn "n" let finall x = x : 'a -> unit let i x = finall test x 所以它只是一个函数,接受一个函数并返回该函数。 执行第2行和第3行的原因是什么? 您以后能否定义一个函数体来
最终

看来您不必在第三行插入调用,这是第2行的结果吗?

是的,该线程上的代码没有多大意义。”finall’基本上是标识函数(让id x=x),只是它将其参数限制为返回单位的函数,而不是任意值。基本上,它没有做任何有用的事情,你可以很容易地写

let test x = printfn "n"
let i x = test x
我想这段代码可能来自某个人,他以一条他们不理解的错误消息开始,并试图将其拆分为一个小样本复制

(关于函数调用,在F#中不需要paren调用let绑定函数:

是一个调用,函数应用程序以正常方式工作以支持curry,这意味着

f x y
意味着


这就是“最终测试x”线上发生的情况。)

谢谢,这就是我要找的!
f x
f x y
(f x) y