jestem trochę zdezorientowany na odpowiedź, że Xcode daje mi do tego eksperymentu w Swift Programming Language Guide:iteracja słownika w Swift
// Use a for-in to iterate through a dictionary (experiment)
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
Rozumiem, że jako słownika jest transversed The największa liczba jest ustawiana na zmienną, largest
. Jednak nie rozumiem, dlaczego Xcode mówi, że largest
jest ustawiane 5 razy, 1 raz lub 3 razy, w zależności od każdego testu.
Podczas przeglądania kodu widzę, że powinien on być ustawiony 6 razy w samym "Prime" (2, 3, 5, 7, 11, 13). Następnie należy pominąć wszystkie cyfry w "Fibonacci", ponieważ wszystkie są mniejsze niż największe, które są obecnie ustawione na 13 z "Prime". Następnie należy ustawić na 16, a na końcu na 25 w "Kwadrat", uzyskując w sumie 8 razy.
Czy brakuje mi czegoś całkowicie oczywistego?
Thank ty tak bardzo! Byłem zaskoczony przez chwilę. Ciągle dodawałam i usuwałam numery dla każdego klucza w nadziei, że go przeanalizuję, ale nigdzie się nie dostałem. Twoje wyjaśnienie jest bardzo doceniane! –
Woot! Cieszę się, że mogłem pomóc :) – Dash