【发布时间】:2017-03-25 15:29:03
【问题描述】:
假设我们有一个函数 sqrt 的示例,它为我们提供浮点数的平方根,但不会在负输入时中止。那么 sqrt 的类型是什么。
有人告诉我答案是:
sqrt :: Maybe Float -> Float
但是我不明白 Maybe 做了什么,它只是意味着我们可以提供任何东西作为输入还是意味着其他东西。
【问题讨论】:
-
A
Maybe是参数化类型。现在你知道的和以前一样多。 -
sqrt :: Float -> Maybe Float听起来更合理。可能有也可能没有有效的结果。这就是Maybe类型的意义所在。
标签: haskell types functional-programming maybe