所以我正在阅读http://learnyouahaskell.com/starting-out,因为它解释了列表,并在Vista 64上使用了ghci.它说[2,4..20]从4到20步长为2.这是有效的.它说[20,19..1]从20变为1,但没有解释.我认为第一个数字不是步骤,步骤是第一个和第二个数字之间的差异.这由[4,4..20]确认挂起(没有错误消息,必须杀死控制台).这与运营商不同!! 并take检查索引的范围并给出错误消息.
我的问题是:这是Vista端口上的一个错误还是它应该是这样的?
[x,y..z]确实一步一步从x到z y-x.当y-x为0时,这将导致无限列表.这是预期的行为.
请注意,如果您在表达式中使用列表take 20 [2,2..20],ghci将不会尝试打印整个列表(当然,这对于无限列表来说是不可能的)并且它不会"挂起".
| 归档时间: |
|
| 查看次数: |
903 次 |
| 最近记录: |