SORU
17 EYLÜL 2008, ÇARŞAMBA


Nasıl en iyi Ruby rastgele bir dize oluşturmak için

Şu anda aşağıdaki 8 karakter sözde rasgele bir dize büyük harf [A-Z] üretmek için kullanıyorum

value = ""; 8.times{value  << (65   rand(25)).chr}

ama kirli görünüyor, ve tek bir açıklama olmadığı için bir argüman olarak kabul edilemez. Karışık bir durum olsun string [a-zA-Z] ben daha fazla içine kesmek için

value = ""; 8.times{value << ((rand(2)==1?65:97)   rand(25)).chr}

Sadece çöp gibi görünüyor. Herkes daha iyi bir yöntem var mı?

CEVAP
25 EKİM 2009, Pazar


SecureRandom neden kullanmıyorsun?

require 'securerandom'
random_string = SecureRandom.hex

# outputs: 5b5cd0da3121fc53b4bc84d0c8af2e81 (i.e. 32 chars of 0..9, a..f)

SecureRandom da yöntemleri vardır:

  • base64
  • random_bytes
  • random_number

bakın: http://ruby-doc.org/stdlib-1.9.2/libdoc/securerandom/rdoc/SecureRandom.html

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MC JIN'S OLD YouTube CHANNEL

    MC JIN'S OLD

    2 Kasım 2008
  • kev5124

    kev5124

    9 Kasım 2008
  • steven johns

    steven johns

    11 Mart 2011