写一个 randomStringGenerator() 函数,我想出了这个:
private let characters = ("0123456789" + "abcdefghijklmnopqrstuvwxyz" +
"ABCDEFGHIJKLMNOPQRSTUVWXYZ").characters.map{ $0 }
private func generateRandomChar() -> Character {
let index = Int( arc4random_uniform( UInt32( characters.count)))
return characters[index]
}
func generateRandomString(lenght: Int) -> String {
var string = ""
for _ in 0..<lenght {
string.append(generateRandomChar())
}
return string
}
Run Code Online (Sandbox Code Playgroud)
请注意我使用的第二行"0123...".characters.map{$0},我对这个(工作)语法的使用感到困惑。绘制地图而不执行任何操作是什么意思?是否有用于相同目的的更解释性语法?
从stackoverflow上的Simple C程序开始,我在Swift中再次完成了这个代码:
import Foundation
// variables and constants:
var dice1, dice2: UInt32
var score, scoreToWin, diceSum: Int
dice1 = 0
dice2 = 0
diceSum = 0
// functions:
func rollDice() ->Int {
dice1 = arc4random() % 6 + 1
dice2 = arc4random() % 6 + 1
diceSum = Int(dice1 + dice2)
println("\(diceSum)")
return diceSum
}
// main:
score = rollDice()
println("\(dice1) \(dice2) \(score)")
switch score {
case 7, 11:
println("score=\(score)\nYou WIN")
case 2, 3, 12:
println("score=\(score)\nYou LOOSE")
default: …Run Code Online (Sandbox Code Playgroud)