Haskell基本函数定义

时间:2018-01-09 17:11:16

标签: haskell

我正在学习haskell而我并不理解函数定义,例如:

{{1}}

我想这个功能是什么?我已经通过控制台加载了这个功能,并且真的不懂如何使用它。

我的问题如何通过控制台使用此功能。喜欢" iter 5 ???"

2 个答案:

答案 0 :(得分:4)

将函数类型读为

iter :: Int -> (a -> a) -> a -> a
        ^^^    ^^^^^^^^    ^    ^
        arg      arg      arg  result

表示如果您提供Int(a->a)功能和a,则会返回另一个a。这里a代表任何类型。例如

iter 4 (+1) 0

将为4,即(+1)四次0。{/ p>

答案 1 :(得分:3)

你需要给它一个函数,更具体地说,一个 endofunction (将任何类型映射到它自己)。例如,

*Main> iter 3 sqrt 256
2.0

当然,这也可以是自定义功能,如

*Main> let f x = x+2
*Main> iter 3 f 7
13

甚至是在调用中定义的匿名文件:

*Main> iter 3 (\str -> "("++str++")") "..."
"(((...)))"