我想得到第n个元素。
-module(lab02). -export([functionGetnth/2]). functionGetnth([], _N) -> {error, no_such_element}; functionGetnth([H|_T], 1) -> H; functionGetnth([H|T], N) when N > 1 -> functionGetnth([H|T], N-1).
当Head不是第n个位置时,如何删除Head?
qv7cva1a1#
在标准库中已经有这样的函数,参见lists:nth/2。如果你坚持自己做,你只需要在第三个子句的尾部(T)递归,这样就丢弃了头部(H),即:
T
H
functionGetNth(T, N-1).
enxuqcxy2#
-module(lab02). -export([functionGetNth/2]). functionGetNth([], _N) -> {error, no_such_element}; functionGetNth([H|_], 1) -> H; functionGetNth([_|T], N) when N > 1 -> functionGetNth(T, N-1).
2条答案
按热度按时间qv7cva1a1#
在标准库中已经有这样的函数,参见lists:nth/2。
如果你坚持自己做,你只需要在第三个子句的尾部(
T
)递归,这样就丢弃了头部(H
),即:enxuqcxy2#