说,我有用户列表中包含的用户,如下所示:
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
什么命令会给我一个镜头来查看用户列表的第3个成员?
也许,因为我的数据定义会允许多个具有相同ID的用户,所以镜头可能不是我想要的......一次遍历?棱镜?
对我来说,部分困难在于我所有的谷歌搜索引导我使用一个名为data-lens-ixset的弃用软件包。