ランダムパスワード生成

数字、大文字アルファベット、小文字アルファベットを最低1つずつ含む
8桁のパスワード大量に作って。と言われたのでrubyで書いてみた。

# ruby1.9
class Pass
  @nums = ("0".."9").to_a
  @bigs = ("a".."z").to_a
  @smalls = ("A".."Z").to_a

  def self.create(max)
    pass = (@nums | @bigs | @smalls).sample(max-3)
    pass << @nums.sample
    pass << @bigs.sample
    pass << @smalls.sample
    pass.shuffle.join
  end
end

1.upto(50).each{ puts Pass.create(8) }