1
[OneSix "、" FiveEight "、" FiveOneZero "]という結果がどうなっているのか分かりません。私が見るのは、それがリストを通ってマッピングされ、%記号が最初に数字を "Six"に評価するということです。だから、なぜ「One」は結果に「Six」の前に来るのでしょうか?辞書を使ってリストをマッピングしていますか?
この部分は私を混乱させる:
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"]
ああ、そうですよ!基本的には、数字の数十、数百の場所を文字列形式に印刷することを繰り返しています。甘いおかげで! –