我想检查一下map (f.g.h) x,$如果没有括号,我们是否无法重写,因为我找不到方法.
以下是我的试验:
map (f.g.h) x
-> map (f.g.h) $ x -- OK, no benefit
-> map $ f.g.h $ x -- wrong as map doesn't take one parameter
-> (map $ f.g.h) x -- Ok, no benefit, ugly :-)
Run Code Online (Sandbox Code Playgroud)
我发现只有优雅的选择才能使用
negate . sum . tail <$> [[1..5], [3..6]]]
Run Code Online (Sandbox Code Playgroud)
但我想确定我没有跳过上面的一些选项.谢谢
如果您定义该功能
map (f.g.h) x
Run Code Online (Sandbox Code Playgroud)
因此,您处理with的每个元素,这意味着我们首先应用它,然后应用于结果,最后应用于该结果.xf . g . hhgf
但是我们也可以使用三个单独的maps,例如:
map f $ map g $ map h x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |