Ich habe Erlang und OTP in Aktion gelesen und bin auf eine Frage bezüglich falscher Listen gestoßen.
Seien Sie nicht versucht, Listenzellen zu verwenden auf diese Weise, selbst wenn Sie denken, Sie haben eine schlaue Idee - es ist fehleranfällig und verwirrt sowohl Menschen als auch Programm Analysewerkzeuge. Das heißt, es gibt ein oder zwei gültige Verwendungen zum Erstellen falsche Listen, aber sie werden berücksichtigt fortgeschrittene Programmiertechniken und sind über den Rahmen dieses Buches hinaus.
Außerhalb des Rahmens für das Buch? Es muss perfekt für Stackoverflow sein!
Also meine Frage ist natürlich, was wären einige gültige Anwendungen?
Eine von der Erlang-Dokumentation vorgeschlagene Verwendung ist gefälschte faule Listen :
%Vor%Eine gültige Verwendung wird am Ende des Eunit-Benutzerhandbuchs in der Abschnitt über faule Generatoren. Dieses Codebeispiel soll eine sehr lange Liste erstellen, die jeweils ein Element verbraucht. Anstatt also die gesamte Liste auf einmal zu erstellen, erstellt sie eine falsche Liste, deren Ende beschreibt, wie der Rest der Liste generiert wird:
%Vor%Mit anderen Worten, es ist eine faule Liste, die Erlang dir selbst nicht gibt.
OTP-stdlib-Wörterbuchimplementierung Das dict-Modul verwendet falsche Listen für Schlüssel / Wert-Paare. Die Rechtfertigung ist 2-Tupel verwendet 1 Wort mehr Speicher als 2-Element unangebrachte Liste. Sehen Effizienzleitfaden für Details
Das OTP-Standardmodul digraph für gerichtete Graphen verwendet falsche Listen für markierte Vertex- und Kantenbezeichner. Zum Beispiel würde Vertex 42 als ['$ v' | 42] identifiziert werden, was ein Paar eines Atoms (nein, kein Zeichenliteral!) Und eine ganze Zahl bedeutet, ähnlich wäre die Kante 97 ['$ e' | 97 ].
Tags und Links list functional-programming erlang