我知道在Haskell中有一个非常有用的简洁模式,用于将函数应用于参数列表:
λ> rem <$> [23, 45] <*> [7, 11]
[2,1,3,1]
是否有类似的方便方法只调用相同的相应索引中的项目?在上面的示例中,它只是rem 23 7
和rem 45 11
,而不是所有可能性。
答案 0 :(得分:12)
使用zipWith
:
zipWith rem [23, 45] [7, 11]
如果您有更多列表,则有zipWith3
,zipWith4
等。
您还可以使用ZipList
应用:
getZipList $ rem <$> ZipList [23, 45] <*> ZipList [7,11]