gpt4 book ai didi

haskell - 如何在 Haskell 中使用镜头操作列表

转载 作者:行者123 更新时间:2023-12-04 02:16:02 26 4
gpt4 key购买 nike

我是镜头库的初学者。我正在尝试从某些数据结构中提取列表。

我想知道如何实现满足以下条件的 f:

("a",[(0,'a'),(1,'b'),(2,'c')]) ^. _2 . f === [0,1,2]

经过一番挣扎,我找到了答案。

g :: Functor f => Getting a s a -> (forall b. Getting (f b) (f s) (f a))
g = to . fmap . view
f = g _1

有没有g对应的库函数?否则,有没有更优雅的方式来实现这样的f

最佳答案

我会去

("a",[(0,'a'),(1,'b'),(2,'c')]) ^.. _2 . traverse . _1

(注意 ^.. 而不是 ^. 因为这是遍历。)

关于haskell - 如何在 Haskell 中使用镜头操作列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33585029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com