Haskell:如何将标量值和单子值结合起来?

目前,我在摆弄有关2D ST数组和递归的haskell问题。

给定一个2D位置和一个方向数组,我写了一行返回该数组内所有结果点的列表:

let cellsAround = [resPt | dir <- directions,
                         let resPt = (fst dir + fst point, snd dir + snd point),
                         fst resPt >= 0 && fst resPt <= fst maxIdx &&
                         snd resPt >= 0 && snd resPt <= snd maxIdx]

现在的目标是用数组的内容丰富结果列表项,我尝试了这一点:

cellsAround <- sequence [readArray board resPt | dir <- directions,
                         let resPt = (fst dir + fst point, snd dir + snd point),
                         fst resPt >= 0 && fst resPt <= fst maxIdx &&
                         snd resPt >= 0 && snd resPt <= snd maxIdx]

这也很好。但目标是将[[Point,Int)]结合使用,因为我必须过滤数组内容。

任何想法如何将其组合为

(resPt, readArray board resPt)

开支

最小的变化:

sequence [(,) resPt <$> readArray board resPt
         | ...

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将锈蚀的寿命结合起来?

来自分类Dev

如何将 ramda 与重构结合起来?

来自分类Dev

如何将play框架和angular2结合起来?

来自分类Dev

如何将词汇表和语法结合起来?

来自分类Dev

如何将获胜者和工作组结合起来?

来自分类Dev

如何将导航栏和分页结合起来?

来自分类Dev

如何将 Join 与聚合函数和分组依据结合起来

来自分类Dev

如何将延迟函数调用的顺序和并行执行结合起来?

来自分类Dev

如何将代码隐藏和 javascript 函数结合起来?

来自分类Dev

如何将 2 个数据帧与对相同位置的值应用函数结合起来

来自分类Dev

如何将Angular2与jinja2模板和烧瓶结合起来

来自分类Dev

如何将find和grep结合起来进行复杂的搜索?(GNU / linux,find,grep)

来自分类Dev

已解决:如何将 tf.gradients 与 tf.data.dataset 和 keras 模型结合起来

来自分类Dev

如何将2种方式的数据绑定与模型驱动的表单结合起来?

来自分类Dev

在Redshift中,如何将CTAS与“如果不存在”子句结合起来?

来自分类Dev

如何将Azure测试计划与管道结合起来?

来自分类Dev

Rust:如何将Entry API与拥有的数据结合起来?

来自分类Dev

如何将这两种路线结合起来?

来自分类Dev

T-SQL:如何将多行代码与 if 语句结合起来

来自分类Dev

如何将 3 个选择器与 a:hover 标签结合起来?

来自分类Dev

如何将数据帧与熊猫中的冗余行结合起来

来自分类Dev

如何将 var 与 var + repeat 结合起来?

来自分类Dev

如何将 NSLayout 约束与 CGrect 框架(Swift4)结合起来

来自分类Dev

如何将这两个 Less @Media 查询与“或”条件结合起来?

来自分类Dev

如何将数据切换与数据工具提示结合起来?

来自分类Dev

如何将这两种方法结合起来?

来自分类Dev

rust-如何将这个宏与循环/递归结合起来?

来自分类Dev

在 Haskell 中将元素与概率结合起来

来自分类Dev

如何将鼠标悬停,鼠标悬停和单击结合起来。没有.mouseout破坏.click

Related 相关文章

  1. 1

    如何将锈蚀的寿命结合起来?

  2. 2

    如何将 ramda 与重构结合起来?

  3. 3

    如何将play框架和angular2结合起来?

  4. 4

    如何将词汇表和语法结合起来?

  5. 5

    如何将获胜者和工作组结合起来?

  6. 6

    如何将导航栏和分页结合起来?

  7. 7

    如何将 Join 与聚合函数和分组依据结合起来

  8. 8

    如何将延迟函数调用的顺序和并行执行结合起来?

  9. 9

    如何将代码隐藏和 javascript 函数结合起来?

  10. 10

    如何将 2 个数据帧与对相同位置的值应用函数结合起来

  11. 11

    如何将Angular2与jinja2模板和烧瓶结合起来

  12. 12

    如何将find和grep结合起来进行复杂的搜索?(GNU / linux,find,grep)

  13. 13

    已解决:如何将 tf.gradients 与 tf.data.dataset 和 keras 模型结合起来

  14. 14

    如何将2种方式的数据绑定与模型驱动的表单结合起来?

  15. 15

    在Redshift中,如何将CTAS与“如果不存在”子句结合起来?

  16. 16

    如何将Azure测试计划与管道结合起来?

  17. 17

    Rust:如何将Entry API与拥有的数据结合起来?

  18. 18

    如何将这两种路线结合起来?

  19. 19

    T-SQL:如何将多行代码与 if 语句结合起来

  20. 20

    如何将 3 个选择器与 a:hover 标签结合起来?

  21. 21

    如何将数据帧与熊猫中的冗余行结合起来

  22. 22

    如何将 var 与 var + repeat 结合起来?

  23. 23

    如何将 NSLayout 约束与 CGrect 框架(Swift4)结合起来

  24. 24

    如何将这两个 Less @Media 查询与“或”条件结合起来?

  25. 25

    如何将数据切换与数据工具提示结合起来?

  26. 26

    如何将这两种方法结合起来?

  27. 27

    rust-如何将这个宏与循环/递归结合起来?

  28. 28

    在 Haskell 中将元素与概率结合起来

  29. 29

    如何将鼠标悬停,鼠标悬停和单击结合起来。没有.mouseout破坏.click

热门标签

归档