2017-01-26 1 views
-3

私はこれと少しの助けが必要ですリストのN番目の要素を返すErlang関数を実装する方法は?

は、関数lists1を書く:n番目(N、L)Nを返す:リストの要素L.

だから、リストのコールを見ての結果番目次のようになります。

1> lists1:nth(3、[2、3、4、5])。

+1

issueタイトルに "hello"のような歌詞を含めることはできませんが、むしろ問題自体またはタスクを説明する必要があります。 –

+1

Welcome to Stack Overflow、@mrjoeそれはあなたの最初の質問で、これまでのレセプションはあまり良くありませんでした(このコメントの時点で-3と投票されました)。それは、あなたが質問としてそれをフレーズしておらず、無関係な多くの個人情報を入れてしまったために起こりそうです。私はそれを改善するためのいくつかの編集を提案しました。それはあなたが次回より良くするのを助けてくれることを願っています。 –

+0

また、このような質問とショーコードを解決するための手順についての情報を、解決の試みとともに提供する必要があります。 –

答えて

3

あなたはlistsモジュールのコードを見て可能性があり、原理はかなり単純です:あなたが最初の要素を選択する必要がある場合

  • は、ちょうどそれを行う、

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

  • else Nが1より大きい整数の場合、リストの最初の要素を削除し、(N-1)を選択します。

    その他の場合で

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

は、のは、失敗してみましょう。

+0

Ty、私は数日前に学習を始めました。それは一度に新しいもののようなものなので少し混乱しています:) – mrjoe

+3

再帰的な手順を設計する最も簡単な方法は、自然言語で、 *リストの最初の要素を見つける方法を知っているので、リストのN番目の要素を見つけるために、最初のリストを削除し、残りのリストでN-1を探します。最初の要素を見つける*。 – Pascal

関連する問題