假设我有一个函数列表
functions = [f, g, h]
每个都有类型a -> a
我也有一个值列表,比如数字,但任何东西都应该在这里工作
vals = [1,2,3]
我想将每个函数应用functions
到相应的值vals
我的第一直觉是使用 lambda 和 zipWith ,例如:
zipWith (\f v -> f v) functions vals
但坦率地说,这看起来很丑陋,在 Haskell 这样的好语言中我并不期待。功能应用功能听起来像是解决方案。有这样的事吗?我是否遗漏了什么,并且有更好的解决方案来解决我的问题?实际上,我最终为 Project Euler 解决方案编写了这个构造。它有效,但我不喜欢它。