Ich möchte eine Schließung verbessern, die ich mit Swifts Array.map-Funktion
geschrieben habeIch nehme grundsätzlich ein Array und remapping alle seine Elemente mit einer Schließung.
%Vor%Und das funktioniert perfekt.
Aber was, wenn ich alles mit 2.1 multiplizieren möchte? oder 3,5? oder irgendeinen Wert? Mit anderen Worten, was ist, wenn ich möchte, dass die Menge, die ich multipliziere, auch eine Variable ist? Und muss es als zweites Argument in die Schließung übernommen werden?
Ich habe versucht, es folgendermaßen in die Argumentliste einzufügen:
%Vor%und dann ändere ich meinen Aufruf:
%Vor%aber ich bekomme alle möglichen Fehler (und ich habe natürlich alle möglichen Variationen versucht).
Was mache ich falsch?
Bearbeiten: Hinweis: Diese Sprachfunktion wurde in Swift 2 entfernt.
Ein schnellerer Weg als Connors Antwort (aber in gleicher Weise) ist die Verwendung einer curried -Funktion. Aus der Swift-Programmiersprache- & gt; Sprachreferenz- & gt; Deklarationen- & gt; Curry-Funktionen und -Methoden:
Eine auf diese Weise deklarierte Funktion wird als eine Funktion verstanden, deren Rückgabe erfolgt Typ ist eine andere Funktion.
So können Sie das vereinfachen:
%Vor%dazu:
%Vor%und benutze es genauso:
%Vor%