【发布时间】:2017-03-15 05:34:50
【问题描述】:
我刚开始学习 Haskell,对范围的行为感到惊讶。
我知道[1, 2 .. 10] 是enumFromThenTo 1 2 10 的语法糖。
从其他编程语言(例如 Python)我习惯于使用 first、last 和 step 参数指定范围,使得 Haskell 的 then 等价于 Python 中的 first+step。
为什么 Haskell 使用 then 而不是 step 来定义序列中值之间的间距?
【问题讨论】:
-
IMO,step 更好。当涉及浮点数时,使用 then 有时会导致令人不快的意外:stackoverflow.com/questions/42773864/…