在Ruby中生成一个带有n位数的随机字符串(开头的0除外)

时间:2015-01-26 04:33:01

标签: ruby-on-rails ruby

有人可以教我如何生成一个n位数的随机字符串。

Ex:n = 3,myString =" 001"或" 002"或者......" 999" (开头的0号除外)

p / s:我使用的是Ruby 1.8.7

2 个答案:

答案 0 :(得分:5)

n.times.map { (0..9).to_a.sample }.join

答案 1 :(得分:2)

如果是密码或其他内容:

require 'securerandom'

random_number = SecureRandom.random_number(10**n)
formatted_number = "0#{random_number}"

编辑:如果它不需要是安全的:

random_number = rand(10**n)
formatted_number = "0#{random_number}"