要約
生成した乱数を 16 進文字列や base64 文字列、UUID など、人が扱いやすい形式の文字列に整形するためのメソッド群を提供するモジュールです。
このモジュールは Random に include され、SecureRandom には
extend されています。ただし、以下の整形用メソッドが定義されるのは
require "random/formatter" を読み込んだとき(require "securerandom"
でも読み込まれます)です。読み込むと、Random のインスタンスと
SecureRandom の両方でこれらのメソッドが使えるようになります。
- random_bytes
- hex
- base64
- urlsafe_base64
- alphanumeric
- uuid など
これらのメソッドの詳しい説明は SecureRandom を参照してください。
目次
- インスタンスメソッド
インスタンスメソッド
alphanumeric(n = nil) -> StringRuby 3.0 から[permalink][rdoc][edit]-
ランダムな英数字を生成して返します。
Random のインスタンスメソッド、および Random と SecureRandom の特異メソッドとして使用できます。
- [PARAM]
n: - 生成される文字列のサイズを整数で指定します。 nil を指定した場合 n として 16 が使われます。
- [RETURN]
- A-Z, a-z, 0-9 からなる文字列が返されます。
require 'random/formatter' prng = Random.new p prng.alphanumeric(10) # => "S8baxMJnPl" p Random.alphanumeric # => "TmP9OsJHJLtaZYhP"[SEE_ALSO] SecureRandom.alphanumeric
- [PARAM]
random_number -> FloatRuby 2.3.0 から[permalink][rdoc][edit]random_number(max) -> Integer | Floatrandom_number(range) -> Integer | Float-
生の乱数から整形した乱数を生成して返します。Random#rand とほぼ同じ働きをします。
Random のインスタンスメソッド、および Random と SecureRandom の特異メソッドとして使用できます。
- [PARAM]
max: - 生成する数値の上限を整数または浮動小数点数で指定します。正の整数を指定した場合は 0 以上 max 未満の整数を、正の浮動小数点数を指定した場合は 0.0 以上 max 未満の浮動小数点数を返します。省略するか、nil、0、負の数を指定した場合は 0.0 以上 1.0 未満の浮動小数点数を返します。
- [PARAM]
range: - 生成する数値の範囲を Range で指定します。範囲の両端が整数であれば範囲内の整数を、そうでなければ範囲内の浮動小数点数を返します。始端が終端より大きいなど空の範囲を指定した場合は 0.0 以上 1.0 未満の浮動小数点数を返します。
- [EXCEPTION]
ArgumentError: - 数値にも範囲にも変換できないオブジェクトを指定した場合に発生します。
Random#rand とは異なり、負の数や空の範囲を指定してもエラーにはならず、 0.0 以上 1.0 未満の浮動小数点数にフォールバックします。
例prng = Random.new p prng.random_number # => 0.3881631795458004 p prng.random_number(100) # => 54 p prng.random_number(1..6) # => 3[SEE_ALSO] Random#rand
- [PARAM]