現実逃避。 alph[rand(52)].chr + alph[rand(52)].chr + alph[rand(52)].chrと重複してるのが気になって、指定回数分ブロックの演算結果を足していくメソッドを作ってみた。標準のメソッドでありそうな気がするんだけど思いつかない。 #!/usr/bin/ruby class Object def pile(n=1, &b) return b.nil? ? self : (1..n).inject(self) { |r,| r + b.call } end end if __FILE__ == $0 p "".pile(3){ alph[rand(alph.size)].chr } + ("%.5s" % rand(100000)) p "".pile{ alph[rand(alph.size)].chr } p "".pile end結果は