【发布时间】:2020-08-11 09:17:33
【问题描述】:
我有一个返回列表最后一个元素的 Erlang 函数
lastElement([H|[]]) ->H;
lastElement([H|T]) ->lastElement(T).
以及一个返回没有最后一个元素的列表的函数
withoutLastElement([H|[]], Result) ->Result;
withoutLastElement([H|T]) ->withoutLastElement(T, [H|Result]).
所以我浏览同一个列表两次,为了提高效率,我只想执行一个函数,该函数返回列表的最后一个元素,并在一次浏览中返回没有此元素的列表,这在另一种语言中很容易,但是我不能在 Erlang 中做到这一点,所以任何帮助,谢谢大家。
【问题讨论】:
-
使用累加器。对优化非常有用。