Tôi là một chút nhầm lẫn về câu trả lời rằng Xcode là cho tôi để thí nghiệm này trong Swift Programming Language Guide:lặp qua một từ điển trong 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 như từ điển đang được transversed, các số lớn nhất được đặt thành biến, largest
. Tuy nhiên, tôi bối rối là tại sao Xcode đang 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 từng thử nghiệm.
Khi xem qua mã, tôi thấy rằng nó phải được đặt 6 lần trong "Chỉ 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ì tất cả các số này đều nhỏ hơn số lớn nhất, hiện được đặt là 13 từ "Prime". Sau đó, nó sẽ được đặt thành 16 và cuối cùng là 25 trong "Square", tổng cộng 8 lần.
Tôi có thiếu điều gì đó hoàn toàn hiển nhiên không?
Thank bạn rất nhiều! Tôi đã bối rối một chút. Tôi tiếp tục bổ sung và loại bỏ các con số cho mỗi khóa với hy vọng sẽ phân tích nó, nhưng tôi đã không nhận được bất cứ nơi nào. Lời giải thích của bạn rõ ràng rất được đánh giá cao! –
Woot! Vui vì tôi có thể giúp :) – Dash