2

说,我有用户包含在用户列表中,如下所示:

import Control.Lens
import Control.Lens.At -- maybe this would help?
import Data.IxSet

data User = User { _userId :: Int
                 , _userName :: String }

instance Indexable User where
    empty = ixSet [ ixFun (\u -> _userId u) ]

makeLenses ''User

data Userlist = Userlist { _users :: IxSet User }

makeLenses ''Userlist

什么命令会给我一个镜头来查看用户列表的第三个成员?

也许,因为我的数据定义允许多个用户使用相同的 ID,所以镜头可能不是我想要的……遍历?棱镜?

对我来说,部分困难在于我所有的谷歌搜索都将我带到了一个已弃用的包,称为 data-lens-ixset。

4

0 回答 0