大小アルファベットの中から適当な一文字を抽出する

前回の記事のように大小アルファベットの配列を作り...

basedata = [('A'..'Z').to_a,('a'..'z').to_a].flatten

shuffleでかき混ぜてtakeなりpopなりで一個取り出し出します。*1
非破壊なので元の配列はちゃんと52個を維持しています。

10.times { p basedata.shuffle.take(1)}
["i"]
["u"]
["Z"]
["e"]
["f"]
["G"]
["h"]
["M"]
["e"]
["M"]


3文字を作りたい場合もこの通り

10.times { p basedata.shuffle.take(3).join }
"Xzt"
"bZn"
"AiU"
"ClI"
"gfW"
"mWE"
"erg"
"gbA"
"pZw"
"EZp"

*1:個人的好みでtakeを使いました