ライブラリ
- ビルトイン (38)
- matrix (2)
- openssl (13)
- securerandom (8)
- timeout (2)
-
webrick
/ utils (1)
クラス
- Array (7)
- Matrix (2)
-
OpenSSL
:: Cipher (2) - Random (22)
モジュール
- Enumerable (4)
- Kernel (4)
-
OpenSSL
:: Random (9) - SecureRandom (7)
- Timeout (2)
-
WEBrick
:: Utils (1)
キーワード
- == (1)
- DEFAULT (1)
-
NEWS for Ruby 3
. 0 . 0 (1) - RandomError (1)
- SecureRandom (1)
- alphanumeric (1)
- base64 (1)
- build (2)
- bytes (2)
- egd (1)
-
egd
_ bytes (1) - hex (1)
- left (2)
-
load
_ random _ file (1) -
marshal
_ dump (1) -
marshal
_ load (1) -
max
_ by (4) - new (1)
-
new
_ seed (1) -
pseudo
_ bytes (1) -
random
_ add (1) -
random
_ bytes (2) -
random
_ iv (1) -
random
_ key (1) -
random
_ number (1) -
random
_ string (1) - sample (4)
- securerandom (1)
- seed (2)
- shuffle (1)
- shuffle! (2)
- srand (4)
- state (2)
- status? (1)
- timeout (2)
- urandom (1)
- uuid (1)
-
write
_ random _ file (1)
検索結果
先頭5件
-
Random (132001.0)
-
MT19937に基づく擬似乱数生成器を提供するクラスです。
MT19937に基づく擬似乱数生成器を提供するクラスです。
=== 参考
オリジナル版 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html -
Random
# rand -> Float (126886.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
Random
# rand(max) -> Integer | Float (126886.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
Random
# rand(range) -> Integer | Float (126886.0) -
一様な擬似乱数を発生させます。
一様な擬似乱数を発生させます。
最初の形式では 0.0 以上 1.0 未満の実数を返します。
二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。
三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang... -
Random
. rand -> Float (126526.0) -
擬似乱数を発生させます。
擬似乱数を発生させます。
Random#rand を参照してください。
擬似乱数生成器が Kernel.#rand と共通なため Kernel.#srand などの影響を受けます。
@param max 乱数値の上限を正の整数または実数で指定します。
@param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range の境界は数値でなければなりません。
@raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題があるときに発生します。
@raise ArgumentE... -
Random
. rand(max) -> Integer | Float (126526.0) -
擬似乱数を発生させます。
擬似乱数を発生させます。
Random#rand を参照してください。
擬似乱数生成器が Kernel.#rand と共通なため Kernel.#srand などの影響を受けます。
@param max 乱数値の上限を正の整数または実数で指定します。
@param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range の境界は数値でなければなりません。
@raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題があるときに発生します。
@raise ArgumentE... -
Random
. rand(range) -> Integer | Float (126526.0) -
擬似乱数を発生させます。
擬似乱数を発生させます。
Random#rand を参照してください。
擬似乱数生成器が Kernel.#rand と共通なため Kernel.#srand などの影響を受けます。
@param max 乱数値の上限を正の整数または実数で指定します。
@param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range の境界は数値でなければなりません。
@raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題があるときに発生します。
@raise ArgumentE... -
Random
. urandom(size) -> String (108637.0) -
プラットフォームの提供する機能を使って、文字列を返します。
プラットフォームの提供する機能を使って、文字列を返します。
@param size 結果の文字列のサイズをバイト数で指定します。
@return 返り値はバイナリ形式で、暗号的に安全な擬似乱数だと期待できます。
@raise RuntimeError プラットフォームの提供する機能の準備に失敗した場合に発生します。
2017年の時点で、Linuxのmanpage(random(7))には「今日256ビット以上の
セキュリティを約束できる暗号化プリミティブが入手可能だとは期待できません」と
書いてあります。そのため、sizeとして32より大きい値を指定することには疑問の
余地があります。... -
Random
. srand -> Integer (90337.0) -
デフォルトの擬似乱数生成器の種を設定し、古い種を返します。 Kernel.#srand と同じです。
デフォルトの擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#srand と同じです。
@param number 擬似乱数発生器の種を整数で指定します。
@see Kernel.#rand, Random::DEFAULT -
Random
. srand(number) -> Integer (90337.0) -
デフォルトの擬似乱数生成器の種を設定し、古い種を返します。 Kernel.#srand と同じです。
デフォルトの擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#srand と同じです。
@param number 擬似乱数発生器の種を整数で指定します。
@see Kernel.#rand, Random::DEFAULT -
Random
. new(seed = Random . new _ seed) -> Random (73435.0) -
メルセンヌ・ツイスタに基づく擬似乱数発生装置オブジェクトを作ります。 引数が省略された場合は、Random.new_seedの値を使用します。
メルセンヌ・ツイスタに基づく擬似乱数発生装置オブジェクトを作ります。
引数が省略された場合は、Random.new_seedの値を使用します。
@param seed 擬似乱数生成器の種を整数で指定します。
//emlist[例: 種が同じなら同じ乱数列を発生できる。][ruby]{
prng = Random.new(1234)
[ prng.rand, prng.rand ] #=> [0.1915194503788923, 0.6221087710398319]
[ prng.rand(10), prng.rand... -
Random
# marshal _ load(array) -> Random (72772.0) -
Random#marshal_dump で得られた配列を基に、Randomオブジェクトを復元します。
Random#marshal_dump で得られた配列を基に、Randomオブジェクトを復元します。
@param array 三要素以下からなる配列を指定します。
何を指定するかはRandom#marshal_dumpを参考にしてください。
@raise ArgumentError array が3より大きい場合に発生します。
//emlist[例][ruby]{
r1 = Random.new(1)
a1 = r1.marshal_dump
r2 = Random.new(3)
r3 = r2.marshal_load(a1)
p r1 == r2 # ... -
OpenSSL
:: Random (72181.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵、秘密鍵の
ペアを計算します。鍵は他人に知られてはならないため、
その乱数は外部からの推論が不可能な良い性質を持っている必要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* Open... -
Random
:: DEFAULT -> Class (72157.0) -
Ruby 3.0 から非推奨で,3.2で廃止されます。代わりに Random クラスオブジェクトを擬似乱数生成器として使用してください。
Ruby 3.0 から非推奨で,3.2で廃止されます。代わりに Random クラスオブジェクトを擬似乱数生成器として使用してください。
また、 Random::DEFAULT は Random クラスオブジェクトが返ります。
//emlist[][ruby]{
Random::DEFAULT == Random # => true
Random.rand(10) # => 4
//} -
Random
. left -> Integer (72097.0) -
C言語レベルで定義されている構造体MTの静的変数default_randの変数leftを参照します。詳しくはrandom.c を参照してください。
C言語レベルで定義されている構造体MTの静的変数default_randの変数leftを参照します。詳しくはrandom.c を参照してください。 -
Random
. state -> Integer (72097.0) -
C言語レベルで定義されている構造体MTの静的変数default_randの状態を参照します。詳しくはrandom.c を参照してください。
C言語レベルで定義されている構造体MTの静的変数default_randの状態を参照します。詳しくはrandom.c を参照してください。 -
Random
# marshal _ dump -> Array (72085.0) -
Random#marshal_load で復元可能な配列を返します。
Random#marshal_load で復元可能な配列を返します。
//emlist[例][ruby]{
r1 = Random.new(1)
a1 = r1.marshal_dump
r2 = Random.new(3)
p r1 == r2 # => false
r3 = r2.marshal_load(a1)
p r1 == r2 # => true
p r1 == r3 # => true
//} -
Random
# ==(other) -> bool (72073.0) -
乱数生成器が等しい状態であるならばtrue を返します。
乱数生成器が等しい状態であるならばtrue を返します。
@param other 比較対象の乱数生成器
//emlist[例][ruby]{
r1 = Random.new(1)
r2 = Random.new(1)
p r1 == r2 # => true
r2.rand
p r1 == r2 # => false
r1.rand
p r1 == r2 # => true
//} -
Random
# left -> Integer (72049.0) -
C言語レベルで定義されている構造体MTの変数leftを参照します。詳しくはrandom.c を参照してください。
C言語レベルで定義されている構造体MTの変数leftを参照します。詳しくはrandom.c を参照してください。 -
Random
# state -> Integer (72049.0) -
C言語レベルで定義されている構造体MTの状態を参照します。詳しくはrandom.c を参照してください。
C言語レベルで定義されている構造体MTの状態を参照します。詳しくはrandom.c を参照してください。 -
Random
# bytes(size) -> String (72037.0) -
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
@param size 結果の文字列のサイズをバイト数で指定します。
//emlist[例][ruby]{
r2 = Random.new(1)
p r2.bytes(10) # => "%\xF4\xC1j\xEB\x80G\xFF\x8C/"
//}
@see Random.bytes -
Random
. bytes(size) -> String (72037.0) -
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
@param size 結果の文字列のサイズをバイト数で指定します。
//emlist[][ruby]{
Random.bytes(10) # => "\xAC\n\x7F\x8C/\xAA\xC4\x97u\xA6"
//}
@see Random#bytes -
Random
# seed -> Integer (72019.0) -
現在の乱数の種を返します。
現在の乱数の種を返します。
//emlist[例][ruby]{
p Random.new(3).seed # => 3
//} -
Random
. new _ seed -> Integer (72019.0) -
適切な乱数の種を返します。
適切な乱数の種を返します。
//emlist[例][ruby]{
p Random.new_seed # => 184271600931914695177248627591520900872
//} -
OpenSSL
:: Random . # load _ random _ file(filename) -> true (54658.0) -
ファイルを読み込み、その内容をエントロピー源として 乱数生成器に渡します。
ファイルを読み込み、その内容をエントロピー源として
乱数生成器に渡します。
エントロピーの推定量はファイルのバイト数と同じであると見なします。
OpenSSL::Random.seed(File.read(filename)) と同じです。
@param filename 読み込むファイル名
@raise OpenSSL::Random::RandomError ファイルの読み込みに失敗した場合に発生します
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Random . # write _ random _ file(filename) -> true (54622.0) -
乱数生成器で生成された 1024 バイトのランダムなバイト列を ファイルに書き込みます。
乱数生成器で生成された 1024 バイトのランダムなバイト列を
ファイルに書き込みます。
これで出力したランダムなバイト列はあとで乱数生成器を初期化するの
に使えます。リブート直後などシステムからのエントロピーが少ない場合に
利用できます。
このファイルは利用者以外には読めないように保存しなければなりません。
部外者がこのファイルを読めることはセキュリティ上の問題を引き起します。
@param filename 書き込むファイルの名前
@raise OpenSSL::Random::RandomError ファイルの書き出しに失敗した場合に発生します -
SecureRandom
. random _ bytes(n = nil) -> String (54622.0) -
ランダムなバイト列を生成して返します。
ランダムなバイト列を生成して返します。
@param n 生成される文字列のサイズを整数で指定します。
nil を指定した場合 n として 16 が使われます。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
require 'securerandom'
p SecureRandom.random_bytes(3) #=> "\321\020\203" -
SecureRandom
. random _ number(n = 0) -> Integer | Float (54622.0) -
ランダムな数値を生成して返します。 n が 1 以上の整数の場合、0 以上 n 未満の整数を返します。 n が 0 の場合、0.0 以上 1.0 未満の実数を返します。
ランダムな数値を生成して返します。
n が 1 以上の整数の場合、0 以上 n 未満の整数を返します。
n が 0 の場合、0.0 以上 1.0 未満の実数を返します。
@param n ランダムな数値の上限を数値で指定します。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
require 'securerandom'
p SecureRandom.random_number(1 << 64) #=> 4078466195356651249 -
OpenSSL
:: Random . # random _ add(str , entropy) -> self (54604.0) -
乱数生成器にエントロピーを追加します。
乱数生成器にエントロピーを追加します。
entropy には str が持っているエントロピーの予測値(の下限)を
バイト単位で渡します。
@param str 予測不可能な内容の文字列
@param entropy str が持っているエントロピーの予測値(バイト単位)の浮動小数点数 -
OpenSSL
:: Random . # random _ bytes(len) -> String (54604.0) -
暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの ランダムなバイト列を返します。
暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの
ランダムなバイト列を返します。
@param len 必要なランダムバイト列の長さ -
Kernel
. # rand(max = 0) -> Integer | Float (54559.0) -
擬似乱数を発生させます。
擬似乱数を発生させます。
最初の形式では
max が 0 の場合は 0.0 以上 1.0 未満の実数を、正の整数の場合は 0 以上 max 未満の整数を返します。
それ以外の値を指定した場合は max.to_int の絶対値が指定されたものとして扱います。
二番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
range に含まれる数が無い場合は nil を返します。
まだ Kernel.#srand が呼ばれていなければ自動的に呼び出します。
擬似乱数生成器として Random... -
Kernel
. # rand(range) -> Integer | Float | nil (54559.0) -
擬似乱数を発生させます。
擬似乱数を発生させます。
最初の形式では
max が 0 の場合は 0.0 以上 1.0 未満の実数を、正の整数の場合は 0 以上 max 未満の整数を返します。
それ以外の値を指定した場合は max.to_int の絶対値が指定されたものとして扱います。
二番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
range に含まれる数が無い場合は nil を返します。
まだ Kernel.#srand が呼ばれていなければ自動的に呼び出します。
擬似乱数生成器として Random... -
OpenSSL
:: Random :: RandomError (54001.0) -
OpenSSL の乱数関連のエラーが起きた場合に発生する例外
OpenSSL の乱数関連のエラーが起きた場合に発生する例外 -
WEBrick
:: Utils . # random _ string(len) -> String (36622.0) -
A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。
A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。
@param len 得たい文字列の長さを整数で指定します。単位はバイトです。
require 'webrick'
p WEBrick::Utils.random_string(10) #=> "xF0jwU4RJd" -
OpenSSL
:: Cipher # random _ iv -> String (36604.0) -
IV を乱数で生成し、暗号オブジェクトに設定します。
IV を乱数で生成し、暗号オブジェクトに設定します。
生成した IV を文字列で返します。 -
OpenSSL
:: Cipher # random _ key -> String (36604.0) -
鍵を乱数で生成し、暗号オブジェクトに設定します。
鍵を乱数で生成し、暗号オブジェクトに設定します。
生成した鍵を文字列で返します。 -
SecureRandom (36091.0)
-
安全な乱数発生器のためのインターフェースを提供するモジュールです。 HTTP のセッションキーなどに適しています。
安全な乱数発生器のためのインターフェースを提供するモジュールです。
HTTP のセッションキーなどに適しています。
以下の乱数発生器をサポートしています。
* openssl
* /dev/urandom
上の安全な乱数発生器が使用できない場合、各メソッドは NotImplementedError を発生します。
# random hexadecimal string.
require 'securerandom'
p SecureRandom.hex(10) #=> "52750b30ffbc7de3b362"
p SecureRandom.hex(10) #... -
securerandom (36001.0)
-
安全な乱数発生器のためのインターフェースを提供するライブラリです。 HTTP のセッションキーなどに適しています。
安全な乱数発生器のためのインターフェースを提供するライブラリです。
HTTP のセッションキーなどに適しています。 -
Kernel
. # srand -> Integer (18715.0) -
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
seed に整数を指定するとその絶対値を乱数の種に設定します。
それ以外の値を指定した場合は seed.to_int が指定されたものとして扱います。
seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。
seed が省略された時には
現在の時刻やプロセス ID、srand を呼び出した回数、
また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。
@param seed 乱数の種となる整数を指定します。
... -
Kernel
. # srand(seed) -> Integer (18715.0) -
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。
seed に整数を指定するとその絶対値を乱数の種に設定します。
それ以外の値を指定した場合は seed.to_int が指定されたものとして扱います。
seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。
seed が省略された時には
現在の時刻やプロセス ID、srand を呼び出した回数、
また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。
@param seed 乱数の種となる整数を指定します。
... -
OpenSSL
:: Random . # seed(str) -> str (18073.0) -
乱数生成器にエントロピーを 「エントロピー予測値 = str のバイト数」として 追加します。
乱数生成器にエントロピーを
「エントロピー予測値 = str のバイト数」として
追加します。
OpenSSL::Random.random_add(str, str.size) と同じです。
@param str 予測不可能な内容の文字列
@see OpenSSL::Random.#random_add -
OpenSSL
:: Random . # egd(filename) -> true (18037.0) -
EGD(Entropy Gathering Daemon) からエントロピーを得、 乱数生成器に追加します。
EGD(Entropy Gathering Daemon) からエントロピーを得、
乱数生成器に追加します。
filename で指定した Unix domain socket から EGD に問い合わせ、
255 バイト分のエントロピーを取得します。
OpenSSL::Random.egd_bytes(filename, 255) と同じです。
@param filename EGD のソケットのファイル名
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Random . # egd _ bytes(filename , length) -> true (18037.0) -
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
filename で指定した Unix domain socket から EGD に問い合わせ、
指定した大きさのエントロピーを乱数生成器に追加します。
@param filename EGD のソケットのファイル名
@param length 読み込むバイト数
@raise OpenSSL::Random::RandomError
@raise OpenSSL::Random::RandomError -
OpenSSL
:: Random . # pseudo _ bytes(len) -> String (18001.0) -
暗号論的な予測不可能性を持たない(が高速な) 乱数生成器によって、 len バイトの ランダムなバイト列を返します。
暗号論的な予測不可能性を持たない(が高速な)
乱数生成器によって、 len バイトの
ランダムなバイト列を返します。
@param len 必要なランダムバイト列の長さ -
OpenSSL
:: Random . # status? -> bool (18001.0) -
乱数生成器内のエントロピーが十分である場合に true を返します。
乱数生成器内のエントロピーが十分である場合に true を返します。 -
SecureRandom
. alphanumeric(n = nil) -> String (18001.0) -
ランダムな英数字を生成して返します。
ランダムな英数字を生成して返します。
@param n 生成される文字列のサイズを整数で指定します。
nil を指定した場合 n として 16 が使われます。
@return A-Z, a-z, 0-9 からなる文字列が返されます。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
//emlist[][ruby]{
require 'securerandom'
p SecureRandom.alphanumeric #=> "2BuBuLf3WfSKyQbR"
p SecureRandom.alphanumeric(... -
SecureRandom
. base64(n = nil) -> String (18001.0) -
ランダムな base64 文字列を生成して返します。
ランダムな base64 文字列を生成して返します。
@param n 文字列の生成に使われるランダムネスのサイズを整数で指定します。
生成される文字列のサイズではないことに注意して下さい。生成される文字列のサイズは
n の約 4/3 倍になります。nil を指定した場合 n として 16 が使われます。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
require 'securerandom'
p SecureRandom.base64(3) #=> "4pYO" (文字列のサイ... -
SecureRandom
. hex(n = nil) -> String (18001.0) -
ランダムな hex 文字列を生成して返します。
ランダムな hex 文字列を生成して返します。
@param n 文字列の生成に使われるランダムネスのサイズを整数で指定します。
生成される文字列のサイズではないことに注意して下さい。生成される文字列のサイズは
n の 2 倍になります。nil を指定した場合 n として 16 が使われます。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
require 'securerandom'
p SecureRandom.hex(3) #=> "f72233" (文字列のサイズは 3 で... -
SecureRandom
. urlsafe _ base64(n = nil , padding = false) -> String (18001.0) -
ランダムで URL-safe な base64 文字列を生成して返します。
ランダムで URL-safe な base64 文字列を生成して返します。
@param n 文字列の生成に使われるランダムネスのサイズを整数で指定します。
生成される文字列のサイズはn の約 4/3 倍になります。
nil を指定した場合 n として 16 が使われます。
@param padding 真を指定すると '=' でパディングを行います。
偽を指定するとパディングを行いません。デフォルトは偽です。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
... -
SecureRandom
. uuid -> String (18001.0) -
バージョン 4 の UUID (Universally Unique IDentifier) を生成して返します。
バージョン 4 の UUID (Universally Unique IDentifier) を生成して返します。
version 4 の UUID は全くランダムです (バージョンを除いて)。
この UUID は MAC アドレスや時刻などのような意味のある情報を含みません。
@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。
require 'securerandom'
p SecureRandom.uuid #=> "2d931510-d99f-494a-8c67-87feb05e1594"
p SecureRan... -
Array
# sample(n , random: Random) -> Array (1357.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# sample(random: Random) -> object | nil (1357.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# shuffle!(random: Random) -> self (1351.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Array
# shuffle(random: Random) -> Array (1279.0) -
配列の要素をランダムシャッフルして,その結果を配列として返します。
配列の要素をランダムシャッフルして,その結果を配列として返します。
引数に Random オブジェクトを渡すことでそのオブジェクトが
生成する擬似乱数列を用いることができます。
//emlist[例][ruby]{
a = [ 1, 2, 3 ] #=> [1, 2, 3]
a.shuffle #=> [2, 3, 1]
rng = Random.new
rng2 = rng.dup # RNGを複製
# 以下の2つは同じ結果を返す
[1,2,3].shuffle(random: rng)
[1,2,3].shuffle(random:... -
NEWS for Ruby 3
. 0 . 0 (181.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...r
* Update to Bundler 2.2.3
* CGI
* Update to 0.2.0
* This version is Ractor compatible.
* CSV
* Update to CSV 3.1.9
* Date
* Update to Date 3.1.1
* This version is Ractor compatible.
* Digest
* Update to Digest 3.0.0
* This version is Ractor compatible.
* E... -
Array
# sample -> object | nil (157.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# sample(n) -> Array (157.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# shuffle! -> self (151.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (73.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (73.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin... -
Enumerable
# max _ by -> Enumerator (55.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerable
# max _ by {|item| . . . } -> object | nil (55.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerable
# max _ by(n) -> Enumerator (55.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Enumerable
# max _ by(n) {|item| . . . } -> Array (55.0) -
各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。
ブロックを省略した場合は Enumerator を返します。
@par... -
Matrix
. build(row _ size , column _ size = row _ size) -> Enumerable (37.0) -
row_size×column_sizeの行列をブロックの返り値から生成します。
row_size×column_sizeの行列をブロックの返り値から生成します。
行列の各要素の位置がブロックに渡され、それの返り値が行列の要素となります。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix.build(2, 4) {|row, col| col - row }
# => Matrix[[0, 1, 2, 3], [-1, 0, 1, 2]]
m = Matrix.build(3) { rand }
# => a 3x3 matrix with random... -
Matrix
. build(row _ size , column _ size = row _ size) {|row , col| . . . } -> Matrix (37.0) -
row_size×column_sizeの行列をブロックの返り値から生成します。
row_size×column_sizeの行列をブロックの返り値から生成します。
行列の各要素の位置がブロックに渡され、それの返り値が行列の要素となります。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix.build(2, 4) {|row, col| col - row }
# => Matrix[[0, 1, 2, 3], [-1, 0, 1, 2]]
m = Matrix.build(3) { rand }
# => a 3x3 matrix with random...