class Random

Randomization Extensions

This library extends Array, String, Hash and other classes with randomization methods. Most of the methods are of one of two kinds. Either they “pick” a random element from the reciever or they randomly “shuffle” the reciever.

The most common example is Array#shuffle, which simply randmomizes the order of an array’s elements.

[1,2,3].shuffle  #~> [2,3,1]

The other methods do similar things for their respective classes.

The classes are all extended via mixins which have been created within Ruby’s Random class.

Credit for this work is due to:

NOTE: Inline QED tests are almost pointless here b/c… yea, it’s random. So indtead of the usual ‘#=>` we use `#~>` which means approx. equal and prevens QED from making a hard assertion.

Public Class Methods

letter() click to toggle source

Module method to generate a random letter.

Random.letter  #~> "q"
Random.letter  #~> "r"
Random.letter  #~> "a"
# File lib/standard/facets/random.rb, line 50
def self.letter
  (Random.number(26) + (Random.number(2) == 0 ? 65 : 97) ).chr
end