Module | Random::StringExtensions |
In: |
lib/facets/standard/facets/random.rb
|
Return a random separation of the string. Default separation is by charaacter.
"Ruby rules".at_rand(' ') #~> ["Ruby"]
# File lib/facets/standard/facets/random.rb, line 369 def at_rand( separator=// ) #separator = self.class.patterns( separator ) self.split(separator,-1).at_rand end
Return a random separation while removing it from the string. Default separation is by character.
s = "Ruby rules" s.at_rand!(' ') #~> "Ruby" s #~> "rules"
# File lib/facets/standard/facets/random.rb, line 381 def at_rand!( separator=// ) #separator = self.class.patterns( separator ) a = self.shatter( separator ) w = []; a.each_with_index { |s,i| i % 2 == 0 ? w << s : w.last << s } i = Random.number(w.size) r = w.delete_at( i ) self.replace( w.join('') ) return r end
Return a random byte of self.
"Ruby rules".rand_byte #~> 121
# File lib/facets/standard/facets/random.rb, line 395 def rand_byte self[Random.number(size)] end
Return a random string index.
"Ruby rules".rand_index #~> 3
# File lib/facets/standard/facets/random.rb, line 416 def rand_index Random.number(size) end
Return the string with seperated sections arranged in a random order. The default seperation is by character.
"Ruby rules".shuffle #~> "e lybRsuur"
# File lib/facets/standard/facets/random.rb, line 425 def shuffle(separator=//) split(separator).shuffle.join('') end