我正在学习 Erlang 并在书中做练习:
“编写一个返回 [1,2,..,N-1,N] 格式列表的函数。create(3) -> [1,2,3]。”
我有一个解决方案,即:
create(N) -> create(1, N).
create (M,M) -> [M];
create(M,N) -> [M | create(M+1, N)].
我经历了几十次,但我根本无法理解解决方案的第 2 行发生了什么。请有人解释一下吗?谢谢你。
编辑。好的,所以我认为我在理解它的正确轨道上。在第 2 行中,创建了新列表,其中基本上 1 将进入头部,N 将进入尾部?如果是,那么在第 3 行 M 代表我们在第 2 行创建的新列表,N 代表第 1 行的输入整数?再次感谢。