Saya sedikit bingung dengan jawaban yang diberikan Xcode kepada saya untuk percobaan ini di Panduan Bahasa Pemrograman 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
Saya mengerti bahwa ketika kamus sedang ditransversikan, jumlah terbesar sedang diatur ke variabel largest,. Namun, saya bingung mengapa Xcode mengatakan bahwa largestsedang diatur 5 kali, atau 1 kali, atau 3 kali, tergantung pada setiap tes.
Ketika melihat melalui kode, saya melihat bahwa itu harus ditetapkan 6 kali dalam "Perdana" saja (2, 3, 5, 7, 11, 13). Maka itu harus melewati angka dalam "Fibonacci" karena semuanya kurang dari yang terbesar, yang saat ini ditetapkan ke 13 dari "Perdana". Kemudian, harus diatur ke 16, dan akhirnya 25 di "Square", menghasilkan total 8 kali.
Apakah saya melewatkan sesuatu yang sepenuhnya jelas?