1
我想在Erlang中做一个butlast函数,如果你给它一个列表,它将返回一个没有最后一个元素的列表。这是我有:Erlang butlast函数
butlast([]) -> undefined;
butlast([H, _]) -> H;
butlast([H|T]) ->[H|butlast(T)].
然而,我的输出是这样的:
butlast([1,2,3,4,5,6]).
[1,2,3,4|5]
这究竟是为什么?管道运营商|
是不是应该把4和5放在一起?
@Ccyan - 你感谢最多投票和选择复选标记,而不是评论。 –
@JarrodRoberson我已经投了票,并会尽快接受答案,只要它允许我。只是想表示感谢。 – Ccyan
这个版本不适用于长度为1的列表,第二个子句应该是:'butlast([_]) - > [];' – Pascal