前回の記事のように大小アルファベットの配列を作り...
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を使いました