gpt4 book ai didi

haskell - 是否可以使用 Lenses 构建新记录?

转载 作者:行者123 更新时间:2023-12-03 15:06:22 24 4
gpt4 key购买 nike

如果我有一个带镜头的记录类型,是否可以在不使用底层记录访问器的情况下构造一个新记录?

{-# LANGUAGE TemplateHaskell #-}

import Control.Lens
import Control.Lens.TH

data Foo = Foo { _s :: String
, _b :: Bool
} deriving (Show, Eq)

makeLenses ''Foo

我可以制作 Foo Data.Default 的一个实例然后修改 def使用镜头,但并非所有记录类型都有合理的默认值。 Control.Lens 有自己的方法吗?

最佳答案

不,目前没有办法做到这一点。您必须使用 Foo{} 之类的东西默认或不使用镜头进行记录构建。但是,已经有一个 issue在镜头覆盖这个。

关于haskell - 是否可以使用 Lenses 构建新记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18430344/

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