【发布时间】:2014-02-03 07:30:08
【问题描述】:
我一直在检查一个代码示例,但我无法理解发生了什么,我试图理解更简单的示例并获得它们,但在这个我遇到了困难:
seq([X, X | Xs]) -> [X | seq(Xs)];
seq([X, Y | Xs]) -> [X, Y | seq(Xs)];
seq(_) -> [].
当我在 shell 中使用 [1,1,1,2,2,2,3] 运行它时,我得到 [1,1,2,2]。我一直试图通过写在纸上来理解这些步骤,但我被卡在了一半的低谷。
我将不胜感激所有向我解释此处发生的步骤的答案! :) /埃里。
【问题讨论】:
-
我假设你想得到 [1,2,3] 作为输出?请说明预期结果。
-
我不想得到任何具体的输出,我只是想了解顺序 erlang 是如何工作的,我上面提供的代码就是一个例子。当我用 [1,1,1,2,2,2,3] 运行它时,我得到 [1,1,2,2],我只想知道它是如何得到 [1,1,2,2] ] 以了解如何执行这些步骤。因此,我希望有人向我解释这些步骤。
标签: erlang