Methods
Classes and Modules
Module Random::String::SelfPublic Class methods
[ show source ]
# File lib/more/facets/random.rb, line 315 def self.included(base) base.extend(Self) end
Public Instance methods
Return a random separation of the string. Default separation is by charaacter.
"Ruby rules".at_rand(' ') #=> ["Ruby"]
[ show source ]
# File lib/more/facets/random.rb, line 363 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"
[ show source ]
# File lib/more/facets/random.rb, line 375 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 = rand( 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
[ show source ]
# File lib/more/facets/random.rb, line 389 def rand_byte self[rand( size )] end
Destructive rand_byte. Delete a random byte of self and return it.
s = "Ruby rules" s.rand_byte! #=> 121 s #=> "Rub rules"
[ show source ]
# File lib/more/facets/random.rb, line 399 def rand_byte! i = rand( size ) rv = self[i,1] self[i,1] = '' rv end
Return a random string index.
"Ruby rules".rand_index #=> 3
[ show source ]
# File lib/more/facets/random.rb, line 410 def rand_index rand( size ) end
Return the string with seperated sections arranged in a random order. The default seperation is by character.
"Ruby rules".shuffle #=> "e lybRsuur"
[ show source ]
# File lib/more/facets/random.rb, line 419 def shuffle(separator=//) split(separator).shuffle.join('') end
In place version of shuffle.
[ show source ]
# File lib/more/facets/random.rb, line 425 def shuffle!(separator=//) self.replace( shuffle(separator) ) end