我在 Haskell 中进行的部分计算会产生映射的函数列表Float
to Float
。我想对所有这些函数应用一个参数,如下所示:
-- x :: Float
-- functions :: [Float -> Float]
map (\f -> f x) functions
有没有一种方法可以在不使用一次性 lambda 函数的情况下做到这一点?我搜索过Hoogle http://www.haskell.org/hoogle/我认为签名应该是([a -> b] -> a -> [b]
)没有运气。
您可以使用$
运算符,这只是函数应用:
map ($ x) functions
(这前提是x
在表达式的范围内。)
Hoogle 只能找到函数,不能找到任意表达式。既然你正在使用map
,您想要搜索类似的函数(a -> b) -> a -> b
而不是任何涉及列表的事情。给定一个普通函数,将其传递给map
使其作用于列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)