Tôi hơi bối rối về câu trả lời rằng Xcode đang đưa tôi đến thử nghiệm này trong Hướng dẫn ngôn ngữ lập trình 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
Tôi hiểu rằng khi từ điển đang được chuyển đổi, số lượng lớn nhất đang được đặt thành biến , largest
. Tuy nhiên, tôi bối rối không hiểu tại sao Xcode lại nói rằng largest
đang được đặt 5 lần, hoặc 1 lần, hoặc 3 lần, tùy thuộc vào mỗi thử nghiệm.
Khi xem qua mã, tôi thấy rằng nó nên được đặt 6 lần trong "Prime" một mình (2, 3, 5, 7, 11, 13). Sau đó, nó nên bỏ qua bất kỳ số nào trong "Fibonacci" vì những số này đều nhỏ hơn số lớn nhất, hiện được đặt thành 13 từ "Prime". Sau đó, nó nên được đặt thành 16, và cuối cùng là 25 trong "Square", mang lại tổng cộng 8 lần.
Tôi có thiếu một cái gì đó hoàn toàn rõ ràng?