【发布时间】:2020-02-19 19:29:52
【问题描述】:
我最近开始通过在线课程学习 swift。
我的任务是从给定的包含字符的数组中生成密码。 我们主要学习了两个代码示例来随机选择一个。
variable[Int.random(in: 0...25)]variable.randomElement()
当从数组中拉出单个元素时,两者都可以正常工作,但在多次与加号 (+) 组合时只能使用“variable[Int.random(in: 0...25)”。
这是为什么呢?
我查阅了文档,但找不到答案
https://developer.apple.com/documentation/swift/array/2994747-randomelement
说明:
此代码有效:
let alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
//The number of letters in alphabet equals 26
var password = alphabet[Int.random(in: 0...25)] + alphabet[Int.random(in: 0...25)] + alphabet[Int.random(in: 0...25)] + alphabet[Int.random(in: 0...25)] + alphabet[Int.random(in: 0...25)] + alphabet[Int.random(in: 0...25)]
print(password)
此代码不起作用,因为“randomElement()”在将多个与加号组合后变灰(为什么?)
let alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
//The number of letters in alphabet equals 26
var password = alphabet.randomElement() + alphabet.randomElement() + alphabet.randomElement() + alphabet.randomElement() + alphabet.randomElement() + alphabet.randomElement()
print(password)
编辑: 感谢你们的快速解释!
【问题讨论】:
-
“变灰”是什么意思?
-
在 Xcode 源代码中通常有一种颜色 - 当我想开始组合它时,randomElement() 会变成灰色。例如,它会变成评论(不再解释
-
你做得很好 - 同时回答三个问题,他们都同意:-)。欢迎来到 SO。