check out SecureRandom için api vermelidir: Sana bir aradığınız inanıyoruz http://rails.rubyonrails.org/classes/ActiveSupport/SecureRandom.html
farklı yöntem: #random_number. # onaltılı bir onaltılık sayıyı döndürür yana
SecureRandom.random_number(a_big_number)
, sadece sayısal karakterler içerdiği rastgele bir sonuç için sormak sıradışı olurdu.
Temel kullanım durumları için #rand kullanmanız yeterlidir.
rand(9999)
Düzenlendi:
belirttiğim uzunlukta rastgele bir sayı üretir bir kütüphane farkında değilim ama bir yazmak yeterince basit görünüyor. İşte bu benim pas:
def rand_by_length(length)
rand((9.to_s * length).to_i).to_s.center(length, rand(9).to_s).to_i
end
yöntem #rand_by_length bir parametre olarak bir tamsayıdır belirten uzunluğu alır ve uzunluğuna bağlı olarak en fazla basamak rasgele bir sayı üretmek için çalışır. String # center, eksik sayıları rasgele sayı karakterleriyle doldurmak için kullanılır. En kötü durum, belirtilen uzunluktaki her basamak için #rand. Bu sizin ihtiyacınıza hizmet edebilir.
Teşekkür ayrılın için Daha fazla açıklamak istiyorum, aslında belirli bir uzunlukta rastgele bir sayı arıyordum Ay 8), hex benzer bir şeyi merak ederek uzunluğu kısıtlıyor, SecureRandom sadece sayı üretebilecek. SecureRandom.random_number (n) muhtemelen buna izin vermeyecek mi? [random_number] (http://rails.rubyonrails.org/classes/ActiveSupport/SecureRandom.html#M000733) – swapab
Cevabın yorumunuzu temel alarak güncellendi. – rossta
That's Cool ...Bu kod için çok teşekkürler ... – swapab