Haskell中的函数列表

时间:2013-10-03 11:06:06

标签: list haskell

据说我有那些相同类型的函数并导致Haskell:

add_one :: Integer -> Integer
add_one n = n + 1

multiply_by_five :: Integer -> Integer
multiply_by_five n = n * 5

subtract_four :: Integer -> Integer
subtract_four n = n - 4

add_ten :: Integer -> Integer
add_ten n = n + 10

如何从中创建列表,以便将其应用于Integer类型的单个参数,例如:

map ($ single_argument) list_of_functions  

1 个答案:

答案 0 :(得分:10)

使用(:)和[]列表构造函数构建使用Haskel的列表,如下所示:

fList :: [Integer -> Integer]
fList = add_one : multiply_by_five : subtract_four : add_ten : []

-- or by using some syntactic sugar
fList' = [add_one, multiply_by_five, subtract_four, add_ten]

然后你可以确实映射应用程序:

map ($ 3) fList