使用Control.Lens中的多个Getter调用函数的一种干净方法是什么。

果酱

给定一些定义镜头的数据结构,例如:

import Control.Lens

data Thing =
  Thing {
    _a :: String
  , _b :: String
  , _c :: Int
  , _d :: Int
  }

makeLenses ''Thing

并给出了一些我想使用多个getter调用的函数,例如:

fun :: Int -> String -> Int -> String -> Bool
fun = undefined

此刻,我在访问每个字段时都遇到了很多麻烦,例如:

thing = Thing "hello" "there" 5 1

answer = fun (thing^.c) (thing^.a) (thing^.d) (thing^.b)

考虑到lens库在大多数其他情况下的简洁性,我希望可以得到一些更优雅的东西,但是我找不到任何可以帮助这种特定情况的组合器。

J·亚伯拉罕森(J. Abrahamson)

由于在观看或设置“模式”中都可以使用任何镜头,因此我们至少需要view X为每个镜头X指定。但是,对于任何镜头l :: Lens' a bview l其类型都类似于a -> b您转换某些MonadReader杂色。

因此,我们可以使用的Applicative实例来消除某些重复((->) a)

thing & fun <$> view c <*> view a <*> view d <*> view b

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在c中是否有一种干净的方法可以使一个函数使用不同的参数调用其他函数?

来自分类Dev

当您不知道属性是什么时,有没有一种方法可以干净地使用javascript中的隐藏类?

来自分类Dev

在javascropt / node中映射或使用另一种干净的方法

来自分类Dev

维护在多个函数中使用的变量的最新状态的最干净的方法是什么?

来自分类Dev

有没有一种简单的方法可以使用 jQuery 在事件中调用内部函数?

来自分类Dev

在只读字段和仅使用getter的属性之间使用一种方法比使用另一种方法有什么好处?

来自分类Dev

使用asp.net-mvc时,用一种HTML.Action()方法更新多个页面节的最佳方法是什么

来自分类Dev

使用网络查找相关名称的一种方法是什么?

来自分类Dev

在 MySQL Connector C++ API 中使用一个函数调用执行多个查询的正确方法是什么?

来自分类Dev

如何创建一种方法,该方法将使用flutter从列表中调用URL

来自分类Dev

如何创建一种方法,该方法将使用flutter从列表中调用URL

来自分类Dev

尝试在多个按钮上调用一种方法,但只有一个按钮使用该方法

来自分类Dev

在匿名内部类中访问变量的一种干净方法是什么?

来自分类Dev

在匿名内部类中访问变量的一种干净方法是什么?

来自分类Dev

在PHP类中需要外部库的一种干净方法是什么?

来自分类Dev

熊猫:一种使用namedtuple列表初始化数据帧的干净方法

来自分类Dev

有没有一种干净的方法可以在Arel NamedFunction节点内使用ORDER BY?

来自分类Dev

有没有一种使用节俭定义事件的干净方法?

来自分类Dev

有没有一种干净的方法可以在Arel NamedFunction节点内使用ORDER BY?

来自分类Dev

使用R重新编码数据框中的多个变量的最短,最干净的方法是什么?

来自分类Dev

如何在.fit()方法中对多个标签(训练)使用一种热编码?

来自分类Dev

使用Java中的getter方法将元素添加到List是一种不好的做法吗?

来自分类Dev

将函数名称存储在变量中并使用变量调用函数是一种不好的做法吗?

来自分类Dev

对多个按钮使用一种JavaFX方法

来自分类Dev

如何使用 Control.Lens 正确格式化函数?

来自分类Dev

在Scala中使用@BeanProperty而不是定义getter / setter函数是一种好习惯吗?

来自分类Dev

使用PowerShell确定处理器体系结构的一种简单的跨平台方法是什么?

来自分类Dev

'variable'可以在此函数中未初始化使用,有一种可行的解决方法,但不明白为什么

来自分类Dev

使用Java Reflection调用带有ActionEvent参数的方法的最干净方法是什么?

Related 相关文章

  1. 1

    在c中是否有一种干净的方法可以使一个函数使用不同的参数调用其他函数?

  2. 2

    当您不知道属性是什么时,有没有一种方法可以干净地使用javascript中的隐藏类?

  3. 3

    在javascropt / node中映射或使用另一种干净的方法

  4. 4

    维护在多个函数中使用的变量的最新状态的最干净的方法是什么?

  5. 5

    有没有一种简单的方法可以使用 jQuery 在事件中调用内部函数?

  6. 6

    在只读字段和仅使用getter的属性之间使用一种方法比使用另一种方法有什么好处?

  7. 7

    使用asp.net-mvc时,用一种HTML.Action()方法更新多个页面节的最佳方法是什么

  8. 8

    使用网络查找相关名称的一种方法是什么?

  9. 9

    在 MySQL Connector C++ API 中使用一个函数调用执行多个查询的正确方法是什么?

  10. 10

    如何创建一种方法,该方法将使用flutter从列表中调用URL

  11. 11

    如何创建一种方法,该方法将使用flutter从列表中调用URL

  12. 12

    尝试在多个按钮上调用一种方法,但只有一个按钮使用该方法

  13. 13

    在匿名内部类中访问变量的一种干净方法是什么?

  14. 14

    在匿名内部类中访问变量的一种干净方法是什么?

  15. 15

    在PHP类中需要外部库的一种干净方法是什么?

  16. 16

    熊猫:一种使用namedtuple列表初始化数据帧的干净方法

  17. 17

    有没有一种干净的方法可以在Arel NamedFunction节点内使用ORDER BY?

  18. 18

    有没有一种使用节俭定义事件的干净方法?

  19. 19

    有没有一种干净的方法可以在Arel NamedFunction节点内使用ORDER BY?

  20. 20

    使用R重新编码数据框中的多个变量的最短,最干净的方法是什么?

  21. 21

    如何在.fit()方法中对多个标签(训练)使用一种热编码?

  22. 22

    使用Java中的getter方法将元素添加到List是一种不好的做法吗?

  23. 23

    将函数名称存储在变量中并使用变量调用函数是一种不好的做法吗?

  24. 24

    对多个按钮使用一种JavaFX方法

  25. 25

    如何使用 Control.Lens 正确格式化函数?

  26. 26

    在Scala中使用@BeanProperty而不是定义getter / setter函数是一种好习惯吗?

  27. 27

    使用PowerShell确定处理器体系结构的一种简单的跨平台方法是什么?

  28. 28

    'variable'可以在此函数中未初始化使用,有一种可行的解决方法,但不明白为什么

  29. 29

    使用Java Reflection调用带有ActionEvent参数的方法的最干净方法是什么?

热门标签

归档