Swift'in Programlama Dili Kılavuzu'ndaki Xcode'un bana bu denemeyi verdiği cevap konusunda biraz kafam karıştı:
// 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
Sözlük enine çevrilirken, en büyük sayının değişkene ayarlandığını anlıyorum largest
. Ancak, Xcode'un neden largest
her teste bağlı olarak 5 kez veya 1 kez veya 3 kez ayarlandığını söylediği konusunda kafam karıştı .
Kod bakıldığında, sadece "Prime" (6, 3, 5, 7, 11, 13) içinde 6 kez ayarlanması gerektiğini görüyorum. O zaman "Fibonacci" herhangi bir sayı atlamak gerekir, çünkü tüm bunlar şu anda "Prime" dan 13 olarak ayarlanmış en büyük daha küçüktür. Daha sonra, 16'ya ve son olarak "Kare" de 25'e ayarlanmalı ve toplam 8 kez verilmelidir.
Tamamen bariz bir şeyi mi kaçırıyorum?