【发布时间】:2021-03-11 19:32:04
【问题描述】:
有人知道我如何在 haskell 中使用两个变量进行列表理解吗?
例如。
[ x * y | x <- [1..10] y <- [1..10]]
它应该导致
[1,4,9,16,25,36,49,64,81,100]
但它实际上在 ghci 中产生
<interactive>:13:23-24: error:
parse error on input ‘<-’
Perhaps this statement should be within a 'do' block?
【问题讨论】:
-
生成器用逗号分隔,所以
[ x * y | x <- [1..10], y <- [1..10]]会输入检查,但不会给你想要的输出。[x * x | x <- [1..10]]可以工作,但只需要一个生成器。 -
谢谢!这真的很有帮助!
标签: haskell functional-programming list-comprehension