我正在尝试对函数compute进行以下签名
val compute = fn: string -> string -> string我知道如何通过在函数中引入let来使用高阶函数,但是结果可能会被更改为
val compute = fn: string -> (fn: string -> string) -> string.我需要签名是正确的。可以再向我解释这一点,如果你能给出一两个例子,我将不胜感激。
发布于 2014-11-07 14:06:41
即使
fn: string -> string -> string和
fn: string -> (fn: string -> string) -> string两个字符串都以两个字符串作为输入,并有一个字符串作为输出。函数内部的操作是不同的。第一个,以一个字符串作为输入,并可能有一个本地函数,该函数也将第二个字符串作为输出字符串。(本地函数中参数中的两个字符串)
第二个函数将具有一个高阶函数,其中一个字符串作为let in函数的输入。
https://stackoverflow.com/questions/26598945
复制相似问题