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ş:
Nasıl bir Ruby ve b arasında rastgele ...
Nasıl rastgele bir dize oluşturmak içi...
Nasıl alfa-sayısal rasgele bir dize ol...
Nasıl bir dosyanın içeriğini bir Java ...
Nasıl Ruby alt veya üst durumda bir di...