【Swift】複数の乱数(文字列)を複数個、生成してみた
解説
・今回は、乱数(文字)を取り出し、それを変数に代入(連結)していく処理を繰り返す
・ characters = "abcdefghijklmnopqrstuvwxyz":乱数に含める材料となる文字を文字列で用意
・len = Int(arc4random_uniform(UInt32(characters.count))):charactersの要素番号を
・randomCharacters += String(characters[characters.index(characters.startIndex, offsetBy: len)]):先頭の文字からlen番目の要素をrandomCharactersに代入
(これを?回繰り返すことで、?文字の乱数になる)
ソースコード
//乱数を格納する配列 var randomArray = [String]() //乱数の生成に使用する文字 let characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" //charactersの中からランダムに選出した要素番号を格納する var len = Int() //乱数(文字)をいくつか追加し、最終的に乱数(文字列)となる変数 var randomCharacters = String() //乱数生成の関数 func createRandom(){ //9つの要素が格納されるまで続く for _ in 1...9 { //乱数が9文字になるまで続く for _ in 1...9 { //charactersの要素番号をランダムに選出 len = Int(arc4random_uniform(UInt32(characters.count))) //aからlen番目の文字をrandomCharactersに追加する //1ループ/1文字、追加される randomCharacters += String(characters[characters.index(characters.startIndex, offsetBy: len)]) } //randomCharactersに格納された9文字の乱数を配列に格納 randomArray.append(randomCharacters) //次回のループのために初期化する randomCharacters = "" //出力結果 print(randomArray) } } //パスワードを生成する createRandom() /* ["56YXk9VW8"] ["56YXk9VW8", "lR7UlrB6A"] ["56YXk9VW8", "lR7UlrB6A", "kxOXVxFX9"] ["56YXk9VW8", "lR7UlrB6A", "kxOXVxFX9", "CCU3mzzH3"] ["56YXk9VW8", "lR7UlrB6A", "kxOXVxFX9", "CCU3mzzH3", "NxeGFPvzU"] ["56YXk9VW8", "lR7UlrB6A", "kxOXVxFX9", "CCU3mzzH3", "NxeGFPvzU", "EexHuIbGQ"] ["56YXk9VW8", "lR7UlrB6A", "kxOXVxFX9", "CCU3mzzH3", "NxeGFPvzU", "EexHuIbGQ", "JDe5SX61v"] ["56YXk9VW8", "lR7UlrB6A", "kxOXVxFX9", "CCU3mzzH3", "NxeGFPvzU", "EexHuIbGQ", "JDe5SX61v", "Fc6nsn4Gr"] ["56YXk9VW8", "lR7UlrB6A", "kxOXVxFX9", "CCU3mzzH3", "NxeGFPvzU", "EexHuIbGQ", "JDe5SX61v", "Fc6nsn4Gr", "lTPzQm41V"] */