说,我有用户包含在用户列表中,如下所示:
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。