【发布时间】:2023-03-08 09:35:01
【问题描述】:
我正在尝试在 Erlang 中实现 drop 功能:
返回列表中除前 n 个项目之外的所有项目的集合。
step(N, C) ->
[_ | T] = C,
case (N > 0) and (length(C) > 0) of
true ->
step(N - 1, T);
false ->
C
end.
drop(_, [ ]) ->
[ ];
drop(Number, Collection) ->
step(Number, Collection).
在 Erlang 终端中:
drop(3, [11, 22, 33, 44, 55, 66, 77]).
"7BM"
任何想法为什么我得到那个输出?
请随意提出更惯用的 Erlang 方法。
【问题讨论】:
-
This answer 可能会给出提示,this question 或 this question。