るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
78件ヒット [1-78件を表示] (0.021秒)

別のキーワード

  1. random rand
  2. random left
  3. random seed
  4. random state
  5. random srand

検索結果

Random (114001.0)

MT19937に基づく擬似乱数生成器を提供するクラスです。

MT19937に基づく擬似乱数生成器を提供するクラスです。

=== 参考
オリジナル版 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html

Random.urandom(size) -> String (81337.0)

プラットフォームの提供する機能を使って、文字列を返します。

プラットフォームの提供する機能を使って、文字列を返します。

@param size 結果の文字列のサイズをバイト数で指定します。

@return 返り値はバイナリ形式で、暗号的に安全な擬似乱数だと期待できます。
@raise RuntimeError プラットフォームの提供する機能の準備に失敗した場合に発生します。

2017年の時点で、Linuxのmanpage(random(7))には「今日256ビット以上の
セキュリティを約束できる暗号化プリミティブが入手可能だとは期待できません」と
書いてあります。そのため、sizeとして32より大きい値を指定することには疑問の
余地があります。...

Random.new(seed = Random.new_seed) -> Random (63691.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 (63472.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 # ...

Random::DEFAULT -> Random (63388.0)

Ruby 3.0 から非推奨です。代わりに Random クラスオブジェクトを擬似乱数生成器として使用してください。

Ruby 3.0 から非推奨です。代わりに Random クラスオブジェクトを擬似乱数生成器として使用してください。

デフォルトの擬似乱数生成器です。
Random.rand や Kernel.#rand などで使用されます。

@see Random.srand, Kernel.#srand

絞り込み条件を変える

Random.rand -> Float (63109.0)

擬似乱数を発生させます。

擬似乱数を発生させます。

Random::DEFAULT.rand と同じです。
Random#rand を参照してください。

擬似乱数生成器が Kernel.#rand と共通なため Kernel.#srand などの影響を受けます。

@param max 乱数値の上限を正の整数または実数で指定します。
@param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range の境界は数値でなければなりません。

@raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題が...

Random.rand(max) -> Integer | Float (63109.0)

擬似乱数を発生させます。

擬似乱数を発生させます。

Random::DEFAULT.rand と同じです。
Random#rand を参照してください。

擬似乱数生成器が Kernel.#rand と共通なため Kernel.#srand などの影響を受けます。

@param max 乱数値の上限を正の整数または実数で指定します。
@param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range の境界は数値でなければなりません。

@raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題が...

Random.rand(range) -> Integer | Float (63109.0)

擬似乱数を発生させます。

擬似乱数を発生させます。

Random::DEFAULT.rand と同じです。
Random#rand を参照してください。

擬似乱数生成器が Kernel.#rand と共通なため Kernel.#srand などの影響を受けます。

@param max 乱数値の上限を正の整数または実数で指定します。
@param range 発生させる乱数値の範囲を Range オブジェクトで指定します。
range の境界は数値でなければなりません。

@raise Errno::EDOM rand(1..Float::INFINITY) などのように範囲に問題が...

Random#marshal_dump -> Array (63085.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#rand -> Float (63055.0)

一様な擬似乱数を発生させます。

一様な擬似乱数を発生させます。

最初の形式では 0.0 以上 1.0 未満の実数を返します。

二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。

三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang...

絞り込み条件を変える

Random#rand(max) -> Integer | Float (63055.0)

一様な擬似乱数を発生させます。

一様な擬似乱数を発生させます。

最初の形式では 0.0 以上 1.0 未満の実数を返します。

二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。

三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang...

Random#rand(range) -> Integer | Float (63055.0)

一様な擬似乱数を発生させます。

一様な擬似乱数を発生させます。

最初の形式では 0.0 以上 1.0 未満の実数を返します。

二番目の形式では 0 以上 max 未満の数を返します。
max が正の整数なら整数を、正の実数なら実数を返します。
0 や負の数を指定することは出来ません。

三番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
rangeが終端を含まない(つまり ... で生成した場合)には終端の値は乱数の範囲から除かれます。
range.end - range.begin が整数を返す場合は rang...

Random#left -> Integer (63049.0)

C言語レベルで定義されている構造体MTの変数leftを参照します。詳しくはrandom.c を参照してください。

C言語レベルで定義されている構造体MTの変数leftを参照します。詳しくはrandom.c を参照してください。

Random#state -> Integer (63049.0)

C言語レベルで定義されている構造体MTの状態を参照します。詳しくはrandom.c を参照してください。

C言語レベルで定義されている構造体MTの状態を参照します。詳しくはrandom.c を参照してください。

Random.left -> Integer (63049.0)

C言語レベルで定義されている構造体MTの静的変数default_randの変数leftを参照します。詳しくはrandom.c を参照してください。

C言語レベルで定義されている構造体MTの静的変数default_randの変数leftを参照します。詳しくはrandom.c を参照してください。

絞り込み条件を変える

Random.state -> Integer (63049.0)

C言語レベルで定義されている構造体MTの静的変数default_randの状態を参照します。詳しくはrandom.c を参照してください。

C言語レベルで定義されている構造体MTの静的変数default_randの状態を参照します。詳しくはrandom.c を参照してください。

Random#==(other) -> bool (63037.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#bytes(size) -> String (63037.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 (63037.0)

ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。

ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。

@param size 結果の文字列のサイズをバイト数で指定します。

//emlist[][ruby]{
Random.bytes(10) # => "\xAC\n\x7F\x8C/\xAA\xC4\x97u\xA6"
//}

@see Random#bytes

Random#seed -> Integer (63019.0)

現在の乱数の種を返します。

現在の乱数の種を返します。

//emlist[例][ruby]{
p Random.new(3).seed # => 3
//}

絞り込み条件を変える

Random.new_seed -> Integer (63019.0)

適切な乱数の種を返します。

適切な乱数の種を返します。

//emlist[例][ruby]{
p Random.new_seed # => 184271600931914695177248627591520900872
//}

Random.srand -> Integer (63019.0)

デフォルトの擬似乱数生成器の種を設定し、古い種を返します。 Kernel.#srand と同じです。

デフォルトの擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#srand と同じです。

@param number 擬似乱数発生器の種を整数で指定します。


@see Kernel.#rand, Random::DEFAULT

Random.srand(number) -> Integer (63019.0)

デフォルトの擬似乱数生成器の種を設定し、古い種を返します。 Kernel.#srand と同じです。

デフォルトの擬似乱数生成器の種を設定し、古い種を返します。
Kernel.#srand と同じです。

@param number 擬似乱数発生器の種を整数で指定します。


@see Kernel.#rand, Random::DEFAULT

OpenSSL::Random (54145.0)

OpenSSL が利用する擬似乱数生成器関連のモジュールです。

OpenSSL が利用する擬似乱数生成器関連のモジュールです。

* 4086

=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵、秘密鍵の
ペアを計算します。鍵は他人に知られてはならないため、
その乱数は外部からの推論が不可能な良い性質を持っている必要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* Open...

OpenSSL::Random.#load_random_file(filename) -> true (27358.0)

ファイルを読み込み、その内容をエントロピー源として 乱数生成器に渡します。

ファイルを読み込み、その内容をエントロピー源として
乱数生成器に渡します。

エントロピーの推定量はファイルのバイト数と同じであると見なします。

OpenSSL::Random.seed(File.read(filename)) と同じです。

@param filename 読み込むファイル名
@raise OpenSSL::Random::RandomError ファイルの読み込みに失敗した場合に発生します
@raise OpenSSL::Random::RandomError

絞り込み条件を変える

OpenSSL::Random.#write_random_file(filename) -> true (27322.0)

乱数生成器で生成された 1024 バイトのランダムなバイト列を ファイルに書き込みます。

乱数生成器で生成された 1024 バイトのランダムなバイト列を
ファイルに書き込みます。

これで出力したランダムなバイト列はあとで乱数生成器を初期化するの
に使えます。リブート直後などシステムからのエントロピーが少ない場合に
利用できます。

このファイルは利用者以外には読めないように保存しなければなりません。
部外者がこのファイルを読めることはセキュリティ上の問題を引き起します。

@param filename 書き込むファイルの名前
@raise OpenSSL::Random::RandomError ファイルの書き出しに失敗した場合に発生します

SecureRandom.random_bytes(n = nil) -> String (27322.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 (27322.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 (27304.0)

乱数生成器にエントロピーを追加します。

乱数生成器にエントロピーを追加します。

entropy には str が持っているエントロピーの予測値(の下限)を
バイト単位で渡します。

@param str 予測不可能な内容の文字列
@param entropy str が持っているエントロピーの予測値(バイト単位)の浮動小数点数

OpenSSL::Random.#random_bytes(len) -> String (27304.0)

暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの ランダムなバイト列を返します。

暗号論的な予測不可能性を持つ乱数生成器によって、 len バイトの
ランダムなバイト列を返します。

@param len 必要なランダムバイト列の長さ

絞り込み条件を変える

OpenSSL::Random::RandomError (27001.0)

OpenSSL の乱数関連のエラーが起きた場合に発生する例外

OpenSSL の乱数関連のエラーが起きた場合に発生する例外

WEBrick::Utils.#random_string(len) -> String (18322.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 (18304.0)

IV を乱数で生成し、暗号オブジェクトに設定します。

IV を乱数で生成し、暗号オブジェクトに設定します。

生成した IV を文字列で返します。

OpenSSL::Cipher#random_key -> String (18304.0)

鍵を乱数で生成し、暗号オブジェクトに設定します。

鍵を乱数で生成し、暗号オブジェクトに設定します。

生成した鍵を文字列で返します。

SecureRandom (18091.0)

安全な乱数発生器のためのインターフェースを提供するモジュールです。 HTTP のセッションキーなどに適しています。

安全な乱数発生器のためのインターフェースを提供するモジュールです。
HTTP のセッションキーなどに適しています。

以下の乱数発生器をサポートしています。

* openssl
* /dev/urandom

上の安全な乱数発生器が使用できない場合、各メソッドは NotImplementedError を発生します。

# random hexadecimal string.
require 'securerandom'
p SecureRandom.hex(10) #=> "52750b30ffbc7de3b362"
p SecureRandom.hex(10) #...

絞り込み条件を変える

securerandom (18001.0)

安全な乱数発生器のためのインターフェースを提供するライブラリです。 HTTP のセッションキーなどに適しています。

安全な乱数発生器のためのインターフェースを提供するライブラリです。
HTTP のセッションキーなどに適しています。

OpenSSL::Random.#seed(str) -> str (9073.0)

乱数生成器にエントロピーを 「エントロピー予測値 = str のバイト数」として 追加します。

乱数生成器にエントロピーを
「エントロピー予測値 = str のバイト数」として
追加します。

OpenSSL::Random.random_add(str, str.size) と同じです。

@param str 予測不可能な内容の文字列
@see OpenSSL::Random.#random_add

OpenSSL::Random.#egd(filename) -> true (9037.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 (9037.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 (9001.0)

暗号論的な予測不可能性を持たない(が高速な) 乱数生成器によって、 len バイトの ランダムなバイト列を返します。

暗号論的な予測不可能性を持たない(が高速な)
乱数生成器によって、 len バイトの
ランダムなバイト列を返します。

@param len 必要なランダムバイト列の長さ

絞り込み条件を変える

OpenSSL::Random.#status? -> bool (9001.0)

乱数生成器内のエントロピーが十分である場合に true を返します。

乱数生成器内のエントロピーが十分である場合に true を返します。

SecureRandom.alphanumeric(n = nil) -> String (9001.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 (9001.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 (9001.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 (9001.0)

ランダムで URL-safe な base64 文字列を生成して返します。

ランダムで URL-safe な base64 文字列を生成して返します。

@param n 文字列の生成に使われるランダムネスのサイズを整数で指定します。
生成される文字列のサイズはn の約 4/3 倍になります。
nil を指定した場合 n として 16 が使われます。

@param padding 真を指定すると '=' でパディングを行います。
偽を指定するとパディングを行いません。デフォルトは偽です。

@raise NotImplementedError 安全な乱数発生器が使えない場合に発生します。

...

絞り込み条件を変える

SecureRandom.uuid -> String (9001.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 (685.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

Array#sample(random: Random) -> object | nil (685.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

Array#shuffle!(random: Random) -> self (679.0)

配列を破壊的にランダムシャッフルします。

配列を破壊的にランダムシャッフルします。

@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト...

Array#shuffle(random: Random) -> Array (679.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:...

絞り込み条件を変える

Array#sample -> object | nil (85.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

Array#sample(n) -> Array (85.0)

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。

配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。

重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。

配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。

srand()が有効です。

@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
...

Array#shuffle -> Array (79.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:...

Array#shuffle! -> self (79.0)

配列を破壊的にランダムシャッフルします。

配列を破壊的にランダムシャッフルします。

@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト...

Kernel.#rand(max = 0) -> Integer | Float (73.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 (73.0)

擬似乱数を発生させます。

擬似乱数を発生させます。

最初の形式では
max が 0 の場合は 0.0 以上 1.0 未満の実数を、正の整数の場合は 0 以上 max 未満の整数を返します。
それ以外の値を指定した場合は max.to_int の絶対値が指定されたものとして扱います。

二番目の形式では range で指定された範囲の値を返します。
range の始端と終端が共に整数の場合は整数を、少なくとも片方が実数の場合は実数を返します。
range に含まれる数が無い場合は nil を返します。

まだ Kernel.#srand が呼ばれていなければ自動的に呼び出します。

擬似乱数生成器として Random...

OpenSSL::Cipher (73.0)

共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。

共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。

基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。

もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。

以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::...

Kernel.#srand -> Integer (67.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 (67.0)

Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。

Kernel.#rand や Random.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。

seed に整数を指定するとその絶対値を乱数の種に設定します。
それ以外の値を指定した場合は seed.to_int が指定されたものとして扱います。
seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。

seed が省略された時には
現在の時刻やプロセス ID、srand を呼び出した回数、
また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。

@param seed 乱数の種となる整数を指定します。
...

NEWS for Ruby 2.5.0 (55.0)

NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.4.0 以降の変更

=== 言語仕様の変更

* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展...

絞り込み条件を変える

OpenSSL::PKey::RSA (55.0)

RSA 暗号鍵のクラスです。

RSA 暗号鍵のクラスです。

通常このクラスで利用するのは、
OpenSSL::PKey::RSA.generate, OpenSSL::PKey::RSA.new,
OpenSSL::PKey::RSA#public?, OpenSSL::PKey::RSA#private?,
OpenSSL::PKey::RSA#public_key, OpenSSL::PKey::RSA#to_text,
OpenSSL::PKey::RSA#to_pem, OpenSSL::PKey::RSA#to_der
のいずれかでしょう。これ以外のメソッドを利用するときは
RSA についてよく理解し、必要な場...

Enumerable#max_by -> Enumerator (37.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

Enumerable#max_by {|item| ... } -> object | nil (37.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

Enumerable#max_by(n) -> Enumerator (37.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

Enumerable#max_by(n) {|item| ... } -> Array (37.0)

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

各要素を順番にブロックに渡して実行し、
その評価結果を <=> で比較して、
最大であった値に対応する元の要素、もしくは最大の n 要素が降順で入った配列を返します。

引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。

Enumerable#max と Enumerable#max_by の
違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

ブロックを省略した場合は Enumerator を返します。

@par...

絞り込み条件を変える

NEWS for Ruby 2.6.0 (37.0)

NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...NEWS for Ruby 2.6.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...
...ます。
Object#to_d メソッドは Kernel.#BigDecimal() や
BigDecimal.new とは違いがあります。
* 2.0.0 は Ruby 2.6.0 のリリース後すぐにリリースされる予定です。
このバージョンは BigDecimal.new メソッドを含みません。...
...をリビルドする必要がある負担がなくなります。
* 変更前:
* libruby.2.6.0.dylib
* libruby.2.6.dylib -> libruby.2.6.0.dylib
* libruby.dylib -> libruby.2.6.0.dylib
* 変更後:
* libruby.2.6.dylib
* libruby.dylib -> libruby.2.6.dylib

* mi...

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (37.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。

exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー...

Timeout.#timeout(sec, exception_class, message) {|i| ... } -> object (37.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。

exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。

また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。

@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー...

IO#advise(advice, offset=0, len=0) -> nil (19.0)

posix_fadvise(2) を呼びだし、 ファイルへのアクセスパターンをOSに知らせます。

posix_fadvise(2) を呼びだし、
ファイルへのアクセスパターンをOSに知らせます。

advice には以下のいずれかのシンボルを指定します。
* :normal - デフォルト
* :sequential - データは前から順にアクセスされる
* :random - データはランダムアクセスされる
* :willneed - データはこの直後にアクセスされる
* :dontneed - データは直後にはアクセスしない
* :noreuse - データは一度しかアクセスされない
これらの advice が具体的に何をするのかはプラットフォーム依存です。
...

Matrix.build(row_size, column_size = row_size) -> Enumerable (19.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 (19.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...

NEWS for Ruby 2.0.0 (19.0)

NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 1.9.3 以降の変更

=== 言語仕様の変更

* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI...

ObjectSpace.#count_tdata_objects(result_hash = nil) -> Hash (19.0)

T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。

T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。

@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。プローブ効果を避けるために使用します。

@raise TypeError result_hash にハッシュ以外を指定した時に発生します。

本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォー
マンスに興味のある C Ruby の開発者向けのもので...

OpenSSL::PKey::DSA.generate(size) -> OpenSSL::PKey::DSA (19.0)

乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。

乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。

このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。

size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。

このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り...

OpenSSL::PKey::DSA.generate(size) {|u,n| ... } -> OpenSSL::PKey::DSA (19.0)

乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。

乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。

このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。

size は DSA パラメータの素数のビット数を指定します。最大 1024 まで
指定できます。通常 512 か 1024 を使います。

このメソッドにブロックが渡された場合には、鍵パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
* n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
* 生成した素数候補が小さな素数で割り...

絞り込み条件を変える

OpenSSL::PKey::EC#public_key? -> bool (19.0)

EC オブジェクトが公開鍵を保持していれば真を返します。

EC オブジェクトが公開鍵を保持していれば真を返します。

OpenSSL::PKey::RSA や OpenSSL::PKey::DSA と
異なり、EC オブジェクトが公開鍵を含まない場合が存在します。
例えば、OpenSSL::PKey::EC.new でパラメータとなる群のみを
指定して EC オブジェクトを作った場合は、公開鍵も秘密鍵も
保持していません。この場合 OpenSSL::PKey::EC#generate_key で
鍵を生成するまで、その状態のままです。

このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必...

OpenSSL::PKey::RSA.generate(size, exponent = 65537) -> OpenSSL::PKey::RSA (19.0)

乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。

乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。

このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。

size で鍵の modulus のビット数つまりは鍵のサイズを指定します。
最低でも1024を指定してください。
exponent で public exponent を指定します。exponent には奇数を指定し、
大抵の場合、3、17 あるいは 65537 を指定します。

このメソッドにブロックが渡された場合には、鍵生成の途中経過の
情報を引数としてブロックが呼び出さ...

OpenSSL::PKey::RSA.generate(size, exponent = 65537) {|u,n| ... } -> OpenSSL::PKey::RSA (19.0)

乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。

乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。

このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。

size で鍵の modulus のビット数つまりは鍵のサイズを指定します。
最低でも1024を指定してください。
exponent で public exponent を指定します。exponent には奇数を指定し、
大抵の場合、3、17 あるいは 65537 を指定します。

このメソッドにブロックが渡された場合には、鍵生成の途中経過の
情報を引数としてブロックが呼び出さ...