【发布时间】:2014-08-04 15:27:39
【问题描述】:
在查看 Microsoft 帮助中的示例之前,我以为我理解了函数组合。它显示了以下示例:
let appendString (string1:string) (string2:string) = string1 + string2
let appendExtension fileExtension = appendString "." >> appendString fileExtension
let fileName = appendExtension "myfile" "txt"
appendExtension 的类型是string -> (string -> string)。这似乎是正确的,因为它是部分应用程序。但是缺少的参数是第一个而不是第二个。这怎么可能?
如果我要写appendExtension 而不作文,我会这样做:
let appendExtension name extension = appendString (appendString name ".") extension
括号中的代码看起来像组合的第一部分,但它是appendString的完整应用。
【问题讨论】:
标签: f#