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

  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008
  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009