1
Bunun nasıl sonuçlandığını anlayamıyorum ["OneSix", "FiveEight", "FiveOneZero"]. Gördüğüm yol, listeyi eşler ve% işareti ilk önce sayıyı "Altı" olarak değerlendirir. Peki sonuçlarda "Bir" önce neden "Altı" geliyor?Sözlük kullanılırken liste mi listeleniyor?
Bu bölüm beni karıştırır:
output = digitNames[number % 10]! + output number /= 10
let digitNames = [
0: "Zero", 1: "One", 2: "Two", 3: "Three", 4: "Four",
5: "Five", 6: "Six", 7: "Seven", 8: "Eight", 9: "Nine"
]
let numbers = [16, 58, 510]
let strings = numbers.map {
(number) -> String in
var number = number
var output = ""
while number > 0 {
output = digitNames[number % 10]! + output
number /= 10
}
return output
}
// strings is inferred to be of type [String]
// its value is ["OneSix", "FiveEight", "FiveOneZero"]
Oh, doğru! Temel olarak, bir sayının onlarca ve yüzlerce yerini dize biçimine yazdırmak için yineleniyor. Tatlı teşekkürler! –