這個猴子打字機,是思想實驗,所謂的猴子,描述的就是把字打出來的東西。第一步,我們先做出存放「每個字母」的 data structure,這個 data structure 的選擇 我這邊使用 array。
下面這邊,是字母表的宣告
private var alphabet: [String] {
let characters = "abcdefghijklmnopqrstuvwxyz"
var chars: [String] = []
for char in characters {
chars.append(String(char))
}
return chars
}
再寫一個從字母表裡面隨機拿出一個字母的 func,這個「猴子」就完成了。只要呼叫 createRandomString(),就會得到一個字母。
private func createRandomString() -> String {
return alphabet.randomElement() ?? ""
}
不過,在前一天,我們的 UI 設定了複數個猴子,所以「猴子」不只一個。
猴子的宣告為 monkeyTyperCount
如果有 n 個 monkey 就會在 createRandomString() → String 裡面出現 n 個 String。
稍微修改一下,把他改成 n 個 String 的輸出
private func createRandomString() -> String {
var resultString = ""
for _ in 0..<monkeyTyperCount {
resultString += alphabet.randomElement() ?? ""
}
return resultString
}
Apple 對 randomElement() 的文件
https://developer.apple.com/documentation/swift/array/randomelement()