at backyard

Color my life with the chaos of trouble.

Rubyワイライナーでパスワードを生成

下記のワンライナーを端末に貼り付けると10文字のランダムな文字列(0~9,a~z,A~Z)が生成される。
パスワードをささっと生成したいと思ったときの自分用に、ここに貼り付けておく。
動けばいいや的に作ってしまったので汚い。。。あとできれいにしよう。

ruby -e "p (0...10).map { [(0..9),('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten[rand([(0..9),('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten.length)] }.join"

追記 - 2016/9/29

上のワンライナーを少しでも短くしてみようと挑戦してみた。
が、あまりうまくできなかった。そもそも文字の一部を変数に格納して、全体の文字数短くしただけ。。。
うまく書いてやりたいと悔しがる秋の夜。

ruby -e "m = [(0..9),('a'..'z'), ('A'..'Z')].map; p (0...10).map { m.map { |i| i.to_a }.flatten[rand(m.map { |i| i.to_a }.flatten.length)] }.join"