haskell – 如何使用镜头库通过索引从列表中删除项目?

我可以使用这样的镜头查看列表中的第4项:

preview (ix 3) myList

有什么东西可以取代“预览”,以便从列表中删除第四项而不是查看它?返回列表应与原始列表相同,表示将删除第4项.

或者也许有一种方法可以使用过滤函数来做到这一点?

最佳答案
听起来你想要使用ifiltered

toListOf (folded . ifiltered (\i _ -> i /= 3)) $myList

-- or

myList ^.. folded . ifiltered (\i _ -> i /= 3))

转载注明原文:haskell – 如何使用镜头库通过索引从列表中删除项目? - 代码日志