rand(max = 0) -> Integer | Float
[permalink][rdoc][edit]rand(range) -> Integer | Float | nil
-
擬似乱数を発生させます。
最初の形式では max が 0 の場合は 0.0 以上 1.0 未満の実数を、正の整数の場合は 0 以上 max 未満の整数を返します。それ以外の値を指定した場合は max.to_int の絶対値が指定されたものとして扱います。
二番目の形式では range で指定された範囲の値を返します。 range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。 range に含まれる数が無い場合は nil を返します。
まだ Kernel.#srand が呼ばれていなければ自動的に呼び出します。
擬似乱数生成器として Random::DEFAULT を使用します。これは Random.rand と共通です。
- [PARAM] max:
- 乱数値の上限を正の整数で指定します。 max 自体は乱数値の範囲に含まれません。 0 を指定すると実数値の乱数を返します。
- [PARAM] range:
- 発生させる乱数値の範囲を Range オブジェクトで指定します。 range の境界は数値でなければなりません。
srand(1234) # 乱数の種を設定する。 rand #=> 0.1915194503788923 rand #=> 0.6221087710398319 rand(10) #=> 4 rand(5.5) #=> 0 # rand(5) と同じ。 5 が乱数値の範囲に含まれないことに注意。 rand(1..6) #=> 2 (1 から 6 までの整数) rand(0...10) #=> 1 (0 から 9 までの整数。終端を含まない) rand(1.0..1.5) #=> 1.1362963047752432 (1.0 以上 1.5 以下の実数) rand(1.0...1.5) #=> 1.1382321275715483 (1.0 以上 1.5 未満の実数) rand(1..0) #=> nil
[SEE_ALSO] Kernel.#srand, Random#rand, Random