我只是盯着 Haskell 阅读http://learnyouahaskell.com的书。在 Texas Ranges 部分中,作者展示了使用语法 [x,y..z] 指定范围中的步骤的代码,我在示例 [2,4..20] 中做到了这一点,并且运行顺利,但是当我运行 [2,2..20] 我得到一个无限的 2 列表,而不是 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16, 17,18,19,20]。如果我运行 [2,3..20] 我会得到所需的输出,所以我假设列表的第一个值为 2 存在某种问题,我想要一个更技术性的答复来解释为什么会这样不允许。控制台图片
haskell ×1