【发布时间】:2011-06-19 18:05:22
【问题描述】:
从我编程的其他语言中,我习惯了有范围。在 Python 中,如果我想要从 1 到 100 的所有数字,我会写 range(1, 101)。同样,在 Haskell 中我会写 [1..100],在 Scala 中我会写 1 to 100。
我在 Erlang 中找不到类似的东西,无论是在语法还是库中。我知道我自己实现这将相当简单,但我想首先确保它在其他地方不存在(特别是因为标准库或语言实现的加载效率会更高)。
有没有办法在 Erlang 语言或标准库中做范围?还是我缺少一些成语?我只是想知道我是否应该自己实现它。
我也对我不想在 Erlang 中使用范围的可能性持开放态度(我不想在 Erlang 中编写 Python 或 Haskell)。另外,如果我确实需要自己实现这一点,如果您对提高性能有任何好的建议,我很想听听他们:)
【问题讨论】:
-
很难说你是否做错了事。你只是说你是如何尝试做某事的,而不是你想要做什么。
-
@Dustin 我想我的意思是我想知道我是否像在 Erlang 中那样思考。
-
正如 btilly 指出的那样,lists:seq/2 是要走的路!我通常可以推荐查看列表模块,它真的非常强大。哦,看看erldocs.com
-
如果您不告诉我们您在想什么,就无法判断您是否在考虑正确的事情。有功能可以做你所要求的确切事情,但这并不意味着它是做任何你想做的事情的正确方法。有可能。但是,没有足够的信息来做出判断。