module Random::Formatter

Zufallszahlformatierer.

Formatiert generierte Zufallszahlen auf vielfältige Weise. Wenn 'random/formatter' angefordert wird, werden mehrere Methoden zum leeren Kernmodul Random::Formatter hinzugefügt, wodurch sie als Instanz- und Modulmethoden von Random verfügbar werden.

Die Standardbibliothek SecureRandom wird ebenfalls mit dem Modul erweitert, und die unten beschriebenen Methoden sind darin als Modulmethoden verfügbar.

Beispiele

Generiere zufällige hexadezimale Zeichenfolgen

require 'random/formatter'

prng = Random.new
prng.hex(10) #=> "52750b30ffbc7de3b362"
prng.hex(10) #=> "92b15d6c8dc4beb5f559"
prng.hex(13) #=> "39b290146bea6ce975c37cfc23"
# or just
Random.hex #=> "1aed0c631e41be7f77365415541052ee"

Generiere zufällige Base64-Zeichenfolgen

prng.base64(10) #=> "EcmTPZwWRAozdA=="
prng.base64(10) #=> "KO1nIU+p9DKxGg=="
prng.base64(12) #=> "7kJSM/MzBJI+75j8"
Random.base64(4) #=> "bsQ3fQ=="

Generiere zufällige Binärzeichenfolgen

prng.random_bytes(10) #=> "\016\t{\370g\310pbr\301"
prng.random_bytes(10) #=> "\323U\030TO\234\357\020\a\337"
Random.random_bytes(6) #=> "\xA1\xE6Lr\xC43"

Generiere alphanumerische Zeichenfolgen

prng.alphanumeric(10) #=> "S8baxMJnPl"
prng.alphanumeric(10) #=> "aOxAg8BAJe"
Random.alphanumeric #=> "TmP9OsJHJLtaZYhP"

Generiere UUIDs

prng.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
prng.uuid #=> "bad85eb9-0713-4da7-8d36-07a8e4b00eab"
Random.uuid #=> "f14e0271-de96-45cc-8911-8910292a42cd"

Alle Methoden sind auch in der Standardbibliothek SecureRandom verfügbar

SecureRandom.hex #=> "05b45376a30c67238eb93b16499e50cf"

Generiere eine Zufallszahl im gegebenen Bereich, wie Random es tut

prng.random_number       #=> 0.5816771641321361
prng.random_number(1000) #=> 485
prng.random_number(1..6) #=> 3
prng.rand                #=> 0.5816771641321361
prng.rand(1000)          #=> 485
prng.rand(1..6)          #=> 3