相关疑难解决方法(0)

Haskell >> 带有两个列表的运算符

对于大学作业,我正在学习 Haskell,当阅读有关 do-notation 和排序的内容时>>=>>我遇到了这种我没有预料到的行为。

[1,2,3] >> [1] -- returns [1,1,1]
Run Code Online (Sandbox Code Playgroud)

谁能解释为什么第一个数组的每个元素都被第二个数组的元素替换?似乎列表以某种方式连接起来,而我预计第一个表达式的结果将被完全忽略,因此我期望[1]结果。

预先非常感谢。

monads haskell list ghci sequencing

4
推荐指数
1
解决办法
194
查看次数

`[ (x !! 0, x !! 1) | x <- mapM (const ['A', 'B', 'C'] ) [1..2], head x < head (tail x) ]` 工作吗?

我是 Haskell 的新手,想知道语句如何

[ (x !! 0, x !! 1) | x <- mapM (const ['A', 'B', 'C'] ) [1..2], head x < head (tail x) ]
Run Code Online (Sandbox Code Playgroud)

作品。(我在 StackOverflow 上找到了它。)我知道它输出什么,但我并没有真正理解它。

haskell list-comprehension

1
推荐指数
1
解决办法
103
查看次数

标签 统计

haskell ×2

ghci ×1

list ×1

list-comprehension ×1

monads ×1

sequencing ×1