在我使用其他编程语言时,通常会用到范围(range)这个概念。在 Python 中,如果我想要表示 1 到 100 的所有数字,我会写 range(1, 101)
;在 Haskell 中,我会写 [1..100]
;在 Scala 中,我会写 1 to 100
。
但是在 Erlang 中,无论是语法还是标准库中,似乎都没有相似的东西。虽然我知道自己可以比较容易地实现这个功能,但我希望先确认一下是否存在其他方法(特别是因为标准库或者语言本身实现的效率会更高)。
我的问题是:在 Erlang 中,是否有类似于“范围”的概念或者标准库函数可供使用?或者我是否忽略了某些惯用语言表达方式?我想知道我是否需要自己来实现这个功能。
当然,我也不排斥可能不应该在 Erlang 中使用“范围”这个概念(毕竟 Erlang 和 Python、Haskell 差别很大)。另外,如果我确实需要自己实现这个功能,如果您有任何提高性能的好建议,我也非常愿意听取。