Wie kann ich die Liste von Erlang verketten, ohne das Listenmodul zu verwenden?
Das Buch, das ich über Erlang lese, enthält Übungen im Hintergrund. Eine besteht darin, die Listen neu zu erstellen: Funktion anhängen.
Ich könnte das einfach mit dem ++ Operator machen, aber ist das nicht wirklich langsam? Und ich denke, der Sinn der Übung besteht darin, Listenoperationen zu verwenden, die ich schreibe.
Bisher ist der einzige Ansatz, an den ich denken könnte, Folgendes zu tun:
concat([], _, Results)->
Results;
concat(_, [], Results)->
Results;
concat([Ah|At],B,Results) ->
concat(At,B,[Ah|Results]).
Aber ich weiß, dass das falsch ist ...
Irgendwelche Vorschläge, wie man das macht?
BEARBEITEN: Um die Frage zu klären, ist hier ein Beispiel Ein- und Ausgabe:
Eingabe: [[1,2,3], [], [4,5], [6] Ausgabe: [1,2,3,4,5,6]
Nach einer Weile habe ich mir auch diesen Code ausgedacht:
append([A|[B|[T|[]]]]) ->
append([A++B|T]);
append([H|T]) ->
H++T.
Dies funktioniert jedoch nur, wenn die Liste die Größe 3 hat. Wie kann ich dies so ändern, dass es für eine bestimmte Anzahl von Listen mit zufälliger Größe funktioniert?