For-Schleife in Apple Swift
Apples neu veröffentlichte language Swift hat ein Beispiel auf der offizielle Dokumentation. Beispiel ist wie folgt;
let interestingNumbers = [
"Prime": [2, 3, 5, 7, 11, 13],
"Fibonacci": [1, 1, 2, 3, 5, 8],
"Square": [1, 4, 9, 16, 25],
]
var largest = 0
for (kind, numbers) in interestingNumbers {
for number in numbers {
if number > largest {
largest = number
}
}
}
largest
Dies ist ziemlich einfach, aber als eine zusätzliche übung,die benötigt wird, um fügen Sie eine weitere variable, um wieder zurückkehren zu können, welche Art ist die größte Zahl (d.h. Platz ist hier der Fall)
Aber ich kann nicht scheinen, um herauszufinden, was ist "(Art,Zahl)" hier vertreten und wie sollte ich meine for-Schleife, um durch alle gehen Wörterbuch(interestingNumbers) Schlüssel und finden Sie die Schlüssel hat die größte Zahl.
Danke Euch allen für Eure Hilfe im Voraus
- debug es, zu sehen, was
kind
enthält. das sollte ziemlich klar sein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Swift ermöglicht es Ihnen, um eine Schleife über ein Wörterbuch mit Tupel-syntax
(key, value)
. Also in jeder iteration der for-Schleife Swift kümmert sich um die Neuzuweisung der angegebenen Tupel-Variablen (kind
undnumber
in Ihrem Fall) das aktuelle Wörterbuch aufnehmen.Herauszufinden, welcher Schlüssel schließt die höchste Zahl in deinem Beispiel verlängern Sie Ihren code wie folgt:
Oder wenn Sie wollen, um die Praxis der Tupel-syntax versuchen, die (mit dem gleichen Ergebnis):
Es ist ein Schlüssel-Wert-paar (ein Tupel), die die Art der Nummer. Dieser syntax ist die sogenannte Zersetzung, grundsätzlich innerhalb der Schleife können Sie den Zugriff
kind
als die Art undnumbers
als die zahlen, die Karte für Sie.Zum Beispiel, in einigen iteration:
Zitat aus dem guide:
Diese for-Schleife eigentlich das aufzählen der Schlüssel/Wert-Paare Wörterbuch
interestingNumbers
. Wokind
ist die Schlüssel und zahlen ist die correspoding WertHier die komplette Lösung der übung
Die Schleife iteriert über das Wörterbuch, und jede iteration gibt Ihnen einen Schlüssel und zugehörigen Wert. Diese sind aufgerufen
kind
(Schlüssel)numbers
(Wert) hier. Sie können einen beliebigen Namen wählen, die Sie wollen.Bekommen Sie jeden Schlüssel wiederum in der
kind
loop variable.Sobald Sie eine finden, die Ergebnisse in einem neuen
largest
können Sie zuweisen, um eine Ergebnis-variable, sagenlargestKind
.Am Ende der Schleife
largestKind
enthält den Schlüssel des array mit der größten Zahl (die Zahl derlargest
Sie bereits haben).Zurückkehren paar (String,Int), die haben wir in Unser Wörterbuch
ähnlich der Funktion zurückgeben mehrerer Werte, wie unten,