次の rand_str
関数は、指定した長さのランダム文字列を生成します。
使用する文字の種類は、第 2 引数 (chars
) で指定することができます。
# chars の中からランダムに len 文字を選んだランダム文字列を生成します
def rand_str(len=7, chars='23456789abcdefghijkmnopqrstuvwxzy')
arr = Array.new(len) do
chars[rand(chars.length)]
end
return arr.join
end
# テスト
if $0 == __FILE__
puts rand_str(10)
end
$ ruby rand-str.rb
rspgyta5h8
rand(n)
関数は「0 〜 n より小さい数」のランダムな整数を返します。
chars[rand(chars.length)]
とすることで、chars
文字列(や配列)からランダムに 1 つの要素を取得できます。
あとは、これを指定された文字数 len
だけ繰り返し取得して、全て結合して文字列にすれば完成です。