2016-06-12 11 views
1

他のリストの前にリストの逆を連結するために、エリクシル(またはアーラン)に標準ライブラリ関数がありますか?基本的に私はScalaでreverse_:::相当のものを探しています。エリクシールのリバース・コンカット

テール再帰アルゴリズムをリストに実装すると便利です。再帰の際には、後でアキュムレータリストの先頭に追加することで、いくつかの要素を保持することができます。最終的には、それらを組み立てられたリストの残りの部分に一度に逆連結することができます(これはかなり効率的です)。

答えて

1

Erlangでは、lists:reverse/2を使用してリバースと連結を行うことができます。

私は、ドキュメントの説明と例が十分に明確であると思う:

reverse(List1, Tail) -> List2

List1の要素を逆順に含むリストを返します。 の末尾にはTailが付加されています。

> lists:reverse([1, 2, 3, 4], [a, b, c]). 
[4,3,2,1,a,b,c] 
+2

またエリクサーに[ 'Enum.reverse/2 '](http://elixir-lang.org/docs/stable/elixir/Enum.html#reverse/2)を有します。 – whatyouhide

+0

これはまさに私が探していたものです。ありがとう。私は以前の2引数バージョンは見ていませんでした。 – MigratoryMonkeyMaster