【发布时间】:2018-07-15 18:52:39
【问题描述】:
在阅读有关函数组合的教程时,我尝试了以下方法:
let prefixFun a b = a + "" + b;;
let exclaim s = s + "!";;
let bigHello = prefixFun >> exclaim;;
但bigHello 的定义返回以下类型不匹配错误
let bigHello = prefixFun >> exclaim;;
----------------------------^^^^^^^
stdin(28,29): error FS0001: Type mismatch. Expecting a
'(string -> string) -> 'a'
but given a
'string -> string'
The type 'string -> string' does not match the type 'string'
- 错误是什么意思
- 根据我的理解,函数组合要求第一个函数的返回类型与第二个函数的参数相同,我认为在这里是正确的,因为
prefixFun返回字符串而exclaim需要字符串。
您能帮我理解并解决问题吗?
谢谢。
【问题讨论】:
标签: f# functional-programming function-composition