gpt4 book ai didi

Haskell Identity 镜头

转载 作者:行者123 更新时间:2023-12-02 02:24:05 27 4
gpt4 key购买 nike

我想知道 Haskell 中是否有身份镜头。一个镜头identity这样如果我有一个类型 data MyType = MyType { _myField :: Int } ,那我可以做myType ^. identity . myField .~ 2 . lens-1.1.1 中似乎有一个,但我在 lens-4.19.2 中找不到.

最佳答案

lens 的优点之一风格的镜头是它们实际上只是功能。所以就像你可以使用函数组合运算符 .在镜头上,还可以识别功能id作为一个镜头,它确实是一个身份镜头,因为它“关注”了整个数据结构。

{-# LANGUAGE TemplateHaskell #-}

import Control.Lens

data MyType = MyType { _myField :: Int }
makeLenses ''MyType

main :: IO ()
main = print $ MyType 37 ^. id . myField

关于Haskell Identity 镜头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62530807/

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