这是问题所在.我需要使用另一个函数计算f#中的函数.我有这段代码
let time f a =
let start = System.DateTime.Now in
let res = (fun f a -> f(a)) in
let finish = System.DateTime.Now in
(res, finish - start)
Run Code Online (Sandbox Code Playgroud)
我试图称之为
time ackermann (2,9);;
Run Code Online (Sandbox Code Playgroud)
我有一个函数ackermann,它将一个元组(s,n)作为参数可能是一个从根本上错误的东西,但我不认为我远离一个可能看起来有点像这样的解决方案.
有什么建议?
哦顺便问一下.我得到的错误信息是:
stdin(19,1):错误FS0030:值限制.值'it'被推断为具有泛型类型val:(('_a - >'_ b) - >'_a - >'_ b)*System.TimeSpan
将'it'定义为一个简单的数据项,使其成为具有显式参数的函数,或者,如果您不打算使用它,则添加类型注释.