为什么在Haskell没有步骤的情况下没有工作范围
[7..1] => []
Run Code Online (Sandbox Code Playgroud)
但只是这样工作
[7,6..1] => [7,6,5,4,3,2,1]
Run Code Online (Sandbox Code Playgroud)
VVS*_*VVS 13
Haskell无法知道你想要步骤-1,直到你给它一个提示.
在某些情况下,您可能希望范围[x..y]在何处y < x以及您希望范围为空的位置.如果Haskell在这些情况下简单地向下移动,这将产生微妙的错误.
3.10.算术序列
[...]算术序列满足这些身份:
- [...]
- [e1..e3] = enumFromTo e1 e3
- [...]
6.3.4枚举类
对于Int和Integer类型,枚举函数具有以下含义:
- [...]
- 序列enumFromTo e1 e3是列表[e1,e1 + 1,e1 + 2,... e3].如果e1> e3,则列表为空.
- [...]