Ist es möglich, Funktionen mit Argumentlisten variabler Länge zu definieren?
Ich weiß, ich kann nur schreiben:
%Vor%Aber ich möchte diese Technik vermeiden.
Eine Möglichkeit besteht darin, alle Argumente in einer Liste zu übergeben:
function(ListOfParameters)
und dann können Sie über die genannte ListOfParameters
iterieren. Auf diese Weise können Sie Ihre Funktionsdeklaration in die Lage versetzen, eine beliebige Anzahl von "Parametern" zu akzeptieren, fügen Sie einfach weitere Begriffe zu der Deklaration hinzu ... aber ich bin nicht sicher, ob Sie das gehofft haben. Denken Sie an eine C vararg
-Parameterliste? Im positiven Fall lesen Sie den nächsten Absatz.
Sie müssen sich daran erinnern, dass Erlang auf dem Mustervergleich basiert. Die Argumente in der Funktion "Deklaration" dienen als übereinstimmendes Muster, wenn eine Funktion aufgerufen wird. Du musst deine "prozedurale Programmierung" -Macht verlassen , um Erlangs Macht voll zu nutzen.
Um deutlich expliziter zu sein als @jldupont: Nein!
Es ist nicht so, dass es nicht einfach implementiert wurde, aber in Erlang Funktionen mit dem gleichen Namen aber unterschiedliche Anzahl von Argumenten werden als verschiedene Funktionen betrachtet, so dass es nicht hinzugefügt werden kann.
Tags und Links erlang