Erlang ライブラリ関数を使用して、要素 E が N 回繰り返されるリストを作成する方法が見つかりません。確かに、書くのは簡単ですが、
repeat(E, N) ->
repeat(E, N, []).
repeat(_E, 0, L) ->
L;
repeat(E, N, L) ->
repeat(E, N-1, [E|L]).
しかし、これはいくつかのリストモジュール関数などを使用したワンライナーであると予想していました。方法はありますか?
編集:わかりました、もちろんこれがあります、
lists:map(fun(_) -> E end, lists:seq(1, N))
しかし、それはすぐに破棄される余分なリストを作成します。私には非効率に思えますが、Erlang の慣用句で考えていないのかもしれません。
編集2:それはばかげた質問だったことがわかりました。どういうわけか、リスト モジュールに重複する関数が表示されませんでした。