【发布时间】:2017-04-21 10:46:13
【问题描述】:
我在 Haskell 中有一个关于高阶函数的作业,但我在开始时遇到了一些麻烦。
如果我能在第一个问题上得到一些帮助和解释,我相信我能完成剩下的。
使用高阶函数(
map、fold或filter),如有必要 lambda 表达式,编写函数f1和f2使得f1 (f2 (*) [1,2,3,4]) 5 ~> [5,10,15,20]
f1 =
f2 =
我想我必须使用部分应用的map,以便[1,2,3,4] 变为[(*1),(*2),(*3),(*4)]?
【问题讨论】:
-
我想说你应该从
f1 g n = g n开始,然后写f2这样f2 (+) [1..4] 5 == [5,10,15,20] -
是的,
f2 = map听起来是个好主意。
标签: haskell functional-programming higher-order-functions recursion-schemes