Haskell 类型的前缀
我申报了以下数据:Haskell 类型的前缀,haskell,haskell-lens,lenses,Haskell,Haskell Lens,Lenses,我申报了以下数据: data Something = Something { self :: String , id :: String , description :: Maybe String , name :: String } deriving (Generic, Show) instance FromJSON Something makeLensesFor [ ("
data Something = Something
{ self :: String
, id :: String
, description :: Maybe String
, name :: String
} deriving (Generic, Show)
instance FromJSON Something
makeLensesFor
[ ("self", "somethingSelf")
, ("id", "somethingId")
, ("description", "somethingDescription")
, ("name", "somethingName")
]
''Something
有没有可能自动创建镜头,因为命名约定遵循的是非常简单的规则
在浏览了源代码之后,我可以看到有一个LensRules实例,称为缩写字段,但遗憾的是,将它与makeLensesWith缩写字段“Something
完全不生成镜头。我做错什么了吗
以下是源代码:I要调用这个东西。反对意见:)还请注意,
id
与Prelude.id
冲突,并且(明确地!)与Control.Category.id
冲突。如果我是你的话,我会使用类似于ident
的东西。我使用的是Data.Aeson,它根据字段名生成解析器,所以我有义务使用这些标识符。当然,Aeson很有可能为我提供了一种重命名标识符的方法,但这对我的主要问题仍然没有帮助。:)我反对称之为这件事还请注意,id
与Prelude.id
冲突,并且(明确地!)与Control.Category.id
冲突。如果我是你的话,我会使用类似于ident
的东西。我使用的是Data.Aeson,它根据字段名生成解析器,所以我有义务使用这些标识符。当然,Aeson很有可能为我提供了一种重命名标识符的方法,但这对我的主要问题仍然没有帮助。:)