如何实现返回列表第 N 个元素的 Erlang 函数



我需要一点帮助:

编写一个函数 lists1:nth(N, L),它返回列表 L 的第 N:th 元素。

所以列表调用的结果如下所示:

1> 列表 1:nth(3, [2, 3, 4, 5]).

你可以看看lists模块的代码,原理相当简单:

  • 如果你必须选择第一个元素,那就去做吧,

    <块引用类>

    nth(1,[H|_]) -> H;

  • 否则,如果 N 是大于 1 的整数,则删除列表中的第一个元素并选择 (N-1)。

    <块引用类>

    nth(N,[_|T]) when is_integer(N), N > 1 -> nth(N-1,T).

在任何其他情况下,让我们失败。

最新更新