mda*_*lva 3 haskell functional-programming
我想使用理解在haskell中执行以下列表:
[1,2,5,6,9,10,13,14,17,18]
Run Code Online (Sandbox Code Playgroud)
我试过这个:
[x | x <- [1..18], y <- [1..4], y < 3]
Run Code Online (Sandbox Code Playgroud)
但我明白了:
[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18]
Run Code Online (Sandbox Code Playgroud)
我不知道是否可以使用一些 Enum 函数来获取列表,但我想知道是否有某种方法可以通过列表推导来实现。我可以看到每个 y 值都有一个 x,但我只想要过滤器的 y 值,而不是第一代列表。
你可能想要这个:
Prelude> [x+y | x <- [1, 5..18], y <- [0..1]]
[1,2,5,6,9,10,13,14,17,18]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |