ライブラリ
- ビルトイン (19)
- dbm (2)
- gdbm (1)
- json (4)
- openssl (26)
- ostruct (1)
-
rexml
/ document (6) -
rubygems
/ specification (2) - sdbm (1)
- tsort (3)
-
win32
/ registry (1) -
yaml
/ dbm (2)
クラス
- DBM (2)
- GDBM (1)
-
Gem
:: Specification (2) - Hash (18)
-
JSON
:: State (4) -
OpenSSL
:: Engine (2) -
OpenSSL
:: PKey :: DH (2) -
OpenSSL
:: PKey :: DSA (4) -
OpenSSL
:: PKey :: EC (6) -
OpenSSL
:: PKey :: EC :: Group (2) -
OpenSSL
:: PKey :: PKey (2) -
OpenSSL
:: PKey :: RSA (3) -
OpenSSL
:: X509 :: Certificate (5) - OpenStruct (1)
-
REXML
:: AttlistDecl (2) -
REXML
:: Element (4) - SDBM (1)
-
Win32
:: Registry (1) -
YAML
:: DBM (2)
モジュール
- Enumerable (1)
- TSort (3)
キーワード
- [] (2)
-
add
_ attribute (2) -
check
_ private _ key (1) - chunk (1)
- configure (1)
- create (1)
-
delete
_ attribute (1) -
delete
_ if (1) -
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) - each (1)
-
each
_ element _ with _ attribute (1) -
each
_ key (1) -
each
_ pair (2) -
each
_ strongly _ connected _ component (1) -
each
_ strongly _ connected _ component _ from (1) -
each
_ value (1) -
fetch
_ values (2) -
generate
_ key (1) -
generate
_ key! (1) - generator (1)
- include? (1)
- indent (1)
- indent= (1)
- index (1)
-
keep
_ if (1) -
load
_ private _ key (1) -
load
_ public _ key (1) - merge (1)
-
priv
_ key= (2) - private? (2)
-
private
_ decrypt (1) -
private
_ encrypt (1) -
private
_ key (1) -
private
_ key= (1) -
private
_ key? (1) -
public
_ key (1) -
public
_ key= (1) - reject (1)
- reject! (1)
- select (2)
- select! (1)
-
set
_ generator (1) - sign (2)
-
signing
_ key (1) -
signing
_ key= (1) - syssign (1)
- sysverify (1)
-
tsort
_ each (1) - update (3)
-
values
_ at (5) - verify (2)
検索結果
先頭5件
-
OpenSSL
:: X509 :: Certificate # check _ private _ key(private _ key) -> bool (46228.0) -
与えられた秘密鍵が証明書に記載されている subject の公開鍵と対応するものかを確かめます。
与えられた秘密鍵が証明書に記載されている subject の公開鍵と対応するものかを確かめます。
確認に成功した場合に真を返します。
@param private_key 確認用の秘密鍵 -
OpenSSL
:: PKey :: EC # private _ key=(privkey) (45925.0) -
秘密鍵となる整数を設定します。
秘密鍵となる整数を設定します。
nil を渡すことで EC オブジェクトが公開鍵のみを持つ状態に変更できます。
@param privkey 設定する秘密鍵(OpenSSL::BN オブジェクト)
@raise OpenSSL::PKey::ECError 秘密鍵の設定に失敗した場合に発生します
@see OpenSSL::PKey::EC#private_key -
OpenSSL
:: PKey :: EC # private _ key -> OpenSSL :: BN|nil (45625.0) -
秘密鍵となる整数を返します。
秘密鍵となる整数を返します。
鍵が設定されていない場合は nil を返します。
@see OpenSSL::PKey::EC#private_key= -
OpenSSL
:: PKey :: DH # generate _ key! -> self (45607.0) -
鍵パラメータ p と g から鍵対を生成しなおし、 自身にセットします。
鍵パラメータ p と g から鍵対を生成しなおし、
自身にセットします。
以前の鍵対の値は廃棄されます。
生成した値は OpenSSL::PKey::DH#params_ok? で
安全かどうかチェックしてから利用してください。
@raise OpenSSL::PKey::DHError 鍵の生成に失敗した場合に発生します -
OpenSSL
:: PKey :: EC # generate _ key -> self (45607.0) -
鍵ペアを乱数で生成します。
鍵ペアを乱数で生成します。
@raise OpenSSL::PKey::ECError 鍵ペアの生成に失敗した場合に発生します -
OpenSSL
:: PKey :: EC # private _ key? -> bool (45607.0) -
EC オブジェクトが秘密鍵を保持していれば真を返します。
EC オブジェクトが秘密鍵を保持していれば真を返します。 -
Hash
# key(val) -> object (45379.0) -
値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。
値 val に対応するキーを返します。対応する要素が存在しない時には
nil を返します。
該当するキーが複数存在する場合、どのキーを返すかは不定です。
Hash#index は obsolete です。
使用すると警告メッセージが表示されます。
@param val 探索に用いる値を指定します。
//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all" , :ef => "all"}
p h.key("some") #=> :ab
p h.key("all") #=> :cd
p h.key("at") #=> nil
//}
@... -
OpenSSL
:: Engine # load _ private _ key(id=nil , data=nil) -> OpenSSL :: PKey :: PKey (37525.0) -
秘密鍵を engine にロードします。
秘密鍵を engine にロードします。
@param id key id(文字列)
@param data 文字列 -
OpenSSL
:: PKey :: DH # priv _ key=(private _ key) (27964.0) -
DH 鍵共有プロトコルの秘密鍵を設定します。
DH 鍵共有プロトコルの秘密鍵を設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param private_key 設定する整数値(OpenSSL::BN)
@see OpenSSL::PKey::DH#priv_key,
OpenSSL::PKey::DH#generate_key! -
OpenSSL
:: PKey :: DSA # priv _ key=(private _ key) (27928.0) -
DSA 鍵の秘密鍵パラメータを設定します。
DSA 鍵の秘密鍵パラメータを設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param private_key 設定する整数値 -
OpenSSL
:: X509 :: Certificate # public _ key -> OpenSSL :: PKey :: PKey (27907.0) -
証明書に記載された公開鍵を返します。
証明書に記載された公開鍵を返します。
鍵の種類によって以下のいずれかのクラスのインスタンスを返します。
* OpenSSL::PKey::RSA
* OpenSSL::PKey::DSA
* OpenSSL::PKey::DH
* OpenSSL::PKey::EC
@raise OpenSSL::X509::CertificateError 鍵の取得に失敗した場合に発生します
@raise OpenSSL::PKey::PKeyError サポートしていない種類の鍵である場合に発生します -
Gem
:: Specification # signing _ key=(key) (27628.0) -
この Gem パッケージの署名に使用するキーをセットします。
この Gem パッケージの署名に使用するキーをセットします。
@param key 署名に使用するキーを指定します。 -
OpenSSL
:: X509 :: Certificate # public _ key=(pkey) (27607.0) -
証明書に公開鍵を設定します。
証明書に公開鍵を設定します。
@param pkey 公開鍵(OpenSSL::PKey::PKeyのサブクラスのインスタンス)
@raise OpenSSL::X509::CertificateError 鍵の設定に失敗した場合に発生します -
OpenSSL
:: PKey :: EC :: Group # generator -> OpenSSL :: PKey :: EC :: Point (27604.0) -
群の生成元を返します。
群の生成元を返します。 -
OpenSSL
:: PKey :: EC :: Group # set _ generator(generator , order , cofactor) -> self (27604.0) -
群のパラメータを設定します。
群のパラメータを設定します。
@param generator 生成元(OpenSSL::PKey::EC::Point オブジェクト)
@param order 生成元の位数(OpenSSL::BN オブジェクト)
@param cofactor 余因子OpenSSL::BN オブジェクト
@raise OpenSSL::PKey::EC::Group::Error 設定に失敗した場合に発生します -
OpenSSL
:: PKey :: RSA # private _ decrypt(str , mode = OpenSSL :: PKey :: RSA :: PKCS1 _ PADDING) -> String (27604.0) -
文字列 str を秘密鍵で復号化します。
文字列 str を秘密鍵で復号化します。
復号化されたデータを文字列で返します。
mode でパディングモードを指定します。暗号化に利用した
パディングモードと同じものを指定する必要があります。
以下の4つのうちいずれかが利用可能です。
* OpenSSL::PKey::RSA::PKCS1_PADDING
* OpenSSL::PKey::RSA::SSLV23_PADDING
* OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING
* OpenSSL::PKey::RSA::NO_PADDING
@param str 暗号化する文字列
@param ... -
OpenSSL
:: PKey :: RSA # private _ encrypt(str , mode = OpenSSL :: PKey :: RSA :: PKCS1 _ PADDING) -> String (27604.0) -
文字列 str を秘密鍵で暗号化します。
文字列 str を秘密鍵で暗号化します。
暗号化されたデータを文字列で返します。
mode でパディングモードを指定します。以下のいずれかが利用可能です。
* OpenSSL::PKey::RSA::PKCS1_PADDING
* OpenSSL::PKey::RSA::NO_PADDING
@param str 暗号化する文字列
@param mode パディングモード
@raise OpenSSL::PKey::RSAError 暗号化に失敗した場合に発生します。
自身が秘密鍵でない場合などに発生します。 -
Gem
:: Specification # signing _ key -> String (27307.0) -
この Gem パッケージの署名に使用するキーを返します。
この Gem パッケージの署名に使用するキーを返します。 -
OpenSSL
:: PKey :: DSA # private? -> bool (27304.0) -
自身が秘密鍵をもっている場合に true を返します。
自身が秘密鍵をもっている場合に true を返します。 -
OpenSSL
:: PKey :: RSA # private? -> bool (27304.0) -
自身が秘密鍵を持っているかどうか判定します。
自身が秘密鍵を持っているかどうか判定します。 -
OpenSSL
:: Engine # load _ public _ key(id=nil , data=nil) -> OpenSSL :: PKey :: PKey (19225.0) -
公開鍵を engine にロードします。
公開鍵を engine にロードします。
@param id key id(文字列)
@param data 文字列 -
REXML
:: Element # delete _ attribute(key) -> REXML :: Attribute | nil (18991.0) -
要素から key という属性名の属性を削除します。
要素から key という属性名の属性を削除します。
削除された属性を返します。
key という属性名の属性が存在しない場合は削除されずに、nil を返します。
@param key 削除する要素(文字列(属性名) or REXML::Attributeオブジェクト)
//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("E")
e.add_attribute("x", "foo"); e # => <E x='foo'/>
e.add_attribute("y:x", "bar"); e # => <E x... -
Win32
:: Registry # create(subkey , desired = KEY _ ALL _ ACCESS , opt = REG _ OPTION _ RESERVED) (18907.0) -
@todo
@todo
Win32::Registry.create(self, subkey, desired, opt) と同じです。 -
Hash
# each _ key -> Enumerator (18667.0) -
ハッシュのキーを引数としてブロックを評価します。
ハッシュのキーを引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合Enumeratorを返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
# :b
p({:a=>1, :b=>2}.each_key) # => #<Enumerator: {:a=>1, :b=>2}:each_key>
//}
@see Hash#each_pair,Hash#each_value -
REXML
:: Element # each _ element _ with _ attribute(key , value = nil , max = 0 , name = nil) {|element| . . . } -> () (18661.0) -
特定の属性を持つすべての子要素を引数としてブロックを呼び出します。
特定の属性を持つすべての子要素を引数としてブロックを呼び出します。
key で指定した属性名の属性を持つ要素のみを対象とします。
value を指定すると、keyで指定した属性名を持つ属性の値がvalueである
もののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。
max に 0 を指定すると、max の指定は無視されます(0個ではありません)。
@param key 属性名(文字列)
@param value 属性値(文字列)
... -
GDBM
# values _ at(*keys) -> [String] (18643.0) -
keys に対応する値を配列に格納して返します。
keys に対応する値を配列に格納して返します。
@param keys キー。複数指定可能です。
require 'gdbm'
db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
p db1.values_at('a', 'b') #=> ["aaa", "bbb"]
p db1.values_at('x', 'y') #=> [nil, nil] -
Hash
# values _ at(*keys) -> [object] (18643.0) -
引数で指定されたキーに対応する値の配列を返します。
引数で指定されたキーに対応する値の配列を返します。
キーに対応する要素がなければデフォルト値が使用されます。
@param keys キーを 0 個以上指定します。
@return 引数で指定されたキーに対応する値の配列を返します。
引数が指定されなかった場合は、空の配列を返します。
//emlist[例][ruby]{
h = {1=>"a", 2=>"b", 3=>"c"}
p h.values_at(1,3,4) #=> ["a", "c", nil]
# [h[1], h[3] ,h[4]] と同じ
//}
@see Hash#... -
DBM
# values _ at(*keys) -> [String] (18625.0) -
keys に対応する値を配列に格納して返します。
keys に対応する値を配列に格納して返します。
@param keys キー。複数指定可能です。
require 'dbm'
db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
p db1.values_at('a', 'b') #=> ["aaa", "bbbbbb"] -
REXML
:: Element # add _ attribute(attr) -> () (18625.0) -
要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。
文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。
@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = ... -
REXML
:: Element # add _ attribute(key , value) -> () (18625.0) -
要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。
文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。
@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = ... -
SDBM
# values _ at(*keys) -> [String] (18625.0) -
keys に対応する値を配列に格納して返します。
keys に対応する値を配列に格納して返します。
@param keys キー。複数指定可能です。
require 'sdbm'
db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
p db1.values_at('a', 'b') #=> ["aaa", "bbb"] -
DBM
# update(other) {|key , value| . . . } -> self (18607.0) -
self と other の内容をマージします。
self と other の内容をマージします。
重複するキーに対応する値はother の内容で上書きされます。
@param other each_pair メソッドを持つオブジェクトでなければなりません。
require 'dbm'
db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
db2 = DBM.open('bbb.db', 0666, DBM::NEWDB)
db2[:bb] = 'bbb'
db2[:cc] = 'ccc'
... -
YAML
:: DBM # values _ at(*keys) -> [object] (18607.0) -
keys に対応する値を配列に格納して返します。
keys に対応する値を配列に格納して返します。
対応するキーが見つからなかった要素には nil が格納されます。
@param keys キーを文字列で指定します。複数指定することができます。 -
OpenSSL
:: PKey :: PKey # sign(digest , data) -> String (18304.0) -
秘密鍵で data に署名し、署名の文字列を返します。
秘密鍵で data に署名し、署名の文字列を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で署名をする場合はハッシュ関数には "dss1" を指定してください。
@param digest 利用するハッシュ関数の名前
@param data 署名する文字列
@raise OpenSSL::PKey::PKeyError 署名時にエラーが起きた場合に発生します -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (18304.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
data を秘密鍵で署名したその署名文字列が sign
であることを公開鍵を使って検証し、検証に成功すれば true
を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、
sign が正しい署名でなかった場合などは false を返します。
@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対... -
Hash
# update(other) {|key , self _ val , other _ val| . . . } -> self (9628.0) -
selfとotherのハッシュの内容をマージ(統合)します。
selfとotherのハッシュの内容をマージ(統合)します。
デフォルト値はselfの設定のままです。
self と other に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に other の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ後のse... -
REXML
:: AttlistDecl # [](key) -> String | nil (9373.0) -
key という属性名のデフォルト値を返します。
key という属性名のデフォルト値を返します。
key という名前の属性が存在しない、もしくは
デフォルト値を持たない場合は nil を返します。 -
REXML
:: AttlistDecl # include?(key) -> bool (9373.0) -
key が属性名であるならば真を返します。
key が属性名であるならば真を返します。
@param key 属性名であるかどうか判定する文字列 -
OpenSSL
:: X509 :: Certificate # verify(key) -> bool (9343.0) -
証明書の発行者の公開鍵で署名を検証します。
証明書の発行者の公開鍵で署名を検証します。
検証に成功した、すなわち self が key で署名されたことが
確認された場合に真を返します。
@param key 検証に利用する発行者の公開鍵 -
Hash
# update(other) -> self (9328.0) -
selfとotherのハッシュの内容をマージ(統合)します。
selfとotherのハッシュの内容をマージ(統合)します。
デフォルト値はselfの設定のままです。
self と other に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを呼び出して
その返す値を重複キーに対応する値にします。ブロック付きでない
場合は常に other の値を使います。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
@param other マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return マージ後のse... -
OpenSSL
:: PKey :: DSA # syssign(data) -> String (9304.0) -
自身で data に署名をし、 DER 形式の文字列で署名を返します。
自身で data に署名をし、 DER 形式の文字列で署名を返します。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
通常は OpenSSL::PKey::PKey#sign を使い、署名をすべきです。
@param data 署名の対象 -
OpenSSL
:: PKey :: DSA # sysverify(data , sign) -> bool (9304.0) -
署名 sign と自身の公開鍵で data を検証します。
署名 sign と自身の公開鍵で data を検証します。
検証に成功した場合は真を返します。
sign に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PKey::DSAError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗した場合はこの
例外は発生しないことに... -
OpenSSL
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (9304.0) -
秘密鍵を用い、data に ECDSA で署名します。
秘密鍵を用い、data に ECDSA で署名します。
結果は文字列として返します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1 -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (9304.0) -
公開鍵を用い、署名を ECDSA で検証します。
公開鍵を用い、署名を ECDSA で検証します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1 -
OpenSSL
:: X509 :: Certificate # sign(pkey , digest) -> self (9304.0) -
証明書に署名します。
証明書に署名します。
DSA で署名する場合は digest は "dss1" でなければなりません。
@param pkey 発行者(issuer)の秘密鍵
@param digest ハッシュ関数を表す文字列 -
JSON
:: State # configure(options = {}) -> self (9148.0) -
与えられたハッシュで自身を設定します。
与えられたハッシュで自身を設定します。
オプションで使用するハッシュのキーについては JSON::State.new を参照してください。
@param options このオブジェクトの設定をするためのハッシュを指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\... -
JSON
:: State # indent=(string) (9148.0) -
インデントに使用する文字列をセットします。
インデントに使用する文字列をセットします。
@param string インデントに使用する文字列を指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\":\"value1\",\t\"key2\":\"value2\"}"
json_state.indent = "... -
JSON
:: State # merge(options = {}) -> self (9148.0) -
与えられたハッシュで自身を設定します。
与えられたハッシュで自身を設定します。
オプションで使用するハッシュのキーについては JSON::State.new を参照してください。
@param options このオブジェクトの設定をするためのハッシュを指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\... -
JSON
:: State # indent -> String (9076.0) -
インデントに使用する文字列を返します。
インデントに使用する文字列を返します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\":\"value1\",\t\"key2\":\"value2\"}"
//} -
Hash
# fetch _ values(key , . . . ) { |key| . . . } -> [object] (649.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
引数で指定されたキーに関連づけられた値の配列を返します。
該当するキーが登録されていない時には、ブロックが与えられていればそのブ
ロックを評価した値を返します。ブロックが与えられていない時は
KeyError が発生します。
self にデフォルト値が設定されていても無視されます(挙動に変化がありません)。
@param key 探索するキーを任意個指定します。
@raise KeyError ブロックが与えられてない時にキーの探索に失敗すると発生します。
//emlist[例][ruby]{
h = { "cat" => "feline", "dog" => "canine", ... -
Hash
# [](key) -> object | nil (427.0) -
key に関連づけられた値を返します。
key に関連づけられた値を返します。
該当するキーが登録されていない時には、デフォルト値を返します。
デフォルト値と値としての nil を区別する必要が
ある場合は Hash#fetch または Hash#key? を使ってください。
@param key 探索するキーを指定します。
//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all"}
p h[:ab] #=> "some"
p h[:ef] #=> nil
h1 = Hash.new("default value")
p h1[... -
Hash
# delete _ if -> Enumerator (418.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Hash
# reject! -> Enumerator (418.0) -
キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。
キーと値を引数としてブロックを評価した結果が真であ
るような要素を self から削除します。
delete_if は常に self を返します。
reject! は、要素を削除しなかった場合には nil を返し、
そうでなければ self を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 =... -
Enumerable
# chunk {|elt| . . . } -> Enumerator (376.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
要素を前から順にブロックで評価し、その結果によって
要素をチャンクに分けた(グループ化した)要素を持つ
Enumerator を返します。
ブロックの評価値が同じ値が続くものを一つのチャンクとして
取り扱います。すなわち、ブロックの評価値が一つ前と
異なる所でチャンクが区切られます。
返り値の Enumerator は各チャンクのブロック評価値と
各チャンクの要素を持つ配列のペアを各要素とします。
そのため、eachだと以下のようになります。
//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something ... -
Hash
# select -> Enumerator (355.0) -
key, value のペアについてブロックを評価し,真となるペアだけを含む ハッシュを生成して返します。
key, value のペアについてブロックを評価し,真となるペアだけを含む
ハッシュを生成して返します。
ブロックが与えられなかった場合は、自身と select から生成した
Enumerator オブジェクトを返します。
//emlist[][ruby]{
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}
//}
@see Hash#select!, ... -
Hash
# fetch _ values(key , . . . ) -> [object] (349.0) -
引数で指定されたキーに関連づけられた値の配列を返します。
引数で指定されたキーに関連づけられた値の配列を返します。
該当するキーが登録されていない時には、ブロックが与えられていればそのブ
ロックを評価した値を返します。ブロックが与えられていない時は
KeyError が発生します。
self にデフォルト値が設定されていても無視されます(挙動に変化がありません)。
@param key 探索するキーを任意個指定します。
@raise KeyError ブロックが与えられてない時にキーの探索に失敗すると発生します。
//emlist[例][ruby]{
h = { "cat" => "feline", "dog" => "canine", ... -
Hash
# reject -> Enumerator (343.0) -
self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。
self を複製して、ブロックを評価した値が真になる要
素を削除したハッシュを返します。
ハッシュを返すことを除けば
Enumerable#reject とほぼ同じです。
selfを破壊的に変更したい場合はかわりにHash#delete_ifかHash#reject!を使います。
//emlist[例][ruby]{
h = { 2 =>"8" ,4 =>"6" ,6 =>"4" ,8 =>"2" }
p h.reject{|key, value| key.to_i < value.to_i} #=> {6=>"4", 8=>"2"}
//}
@see Hash#delete_if,... -
Hash
# each -> Enumerator (328.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、
無しで呼ばれた場合 Enumerator を返します。
each_pair は each のエイリアスです。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
#=> [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # => #<... -
Hash
# each _ pair -> Enumerator (328.0) -
ハッシュのキーと値を引数としてブロックを評価します。
ハッシュのキーと値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合 self を、
無しで呼ばれた場合 Enumerator を返します。
each_pair は each のエイリアスです。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
# [:b, 2]
{:a=>1, :b=>2}.each {|k, v| p [k, v]}
#=> [:a, 1]
# [:b, 2]
p({:a=>1, :b=>2}.each_pair) # => #<... -
Hash
# each _ value -> Enumerator (322.0) -
ハッシュの値を引数としてブロックを評価します。
ハッシュの値を引数としてブロックを評価します。
反復の際の評価順序はキーが追加された順です。
ブロック付きの場合selfを、
無しで呼ばれた場合 Enumerator を返します。
//emlist[例][ruby]{
{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
# 2
p({:a=>1, :b=>2}.each_value) # => #<Enumerator: {:a=>1, :b=>2}:each_value>
//}
@see Hash#each_pair,Hash#each_key -
TSort
# each _ strongly _ connected _ component -> Enumerator (322.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) -> Enumerator (322.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
TSort
# tsort _ each -> Enumerator (322.0) -
TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#tsort メソッドのイテレータ版です。
obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
tsort_each は nil を返します。
閉路が存在するとき、例外 TSort::Cyclic を起こします。
@raise TSort::Cyclic 閉路が存在するとき、発生します.
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node... -
YAML
:: DBM # select(*keys) -> [object] (322.0) -
ブロックを評価して真になった要素のみを [キー, 値] から構成される配列に 格納して返します。ブロックが与えられなかった場合は、keys に対応する値を 配列に格納して返します。
ブロックを評価して真になった要素のみを [キー, 値] から構成される配列に
格納して返します。ブロックが与えられなかった場合は、keys に対応する値を
配列に格納して返します。
@param keys キーを文字列で指定します。複数指定することができます。
ブロックを与えるかどうかで戻り値が異なる事に注意してください。
@see YAML::DBM#values_at -
Hash
# keep _ if -> Enumerator (310.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select! # => #<E... -
Hash
# select! -> Enumerator (310.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select! # => #<E... -
OpenStruct
# each _ pair -> Enumerator (307.0) -
self の各要素の名前と要素を引数としてブロックを評価します。
self の各要素の名前と要素を引数としてブロックを評価します。
ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。
例:
require 'ostruct'
data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
data.each_pair.to_a # => population, 20000000 -
Hash
# index(val) -> object (79.0) -
値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。
値 val に対応するキーを返します。対応する要素が存在しない時には
nil を返します。
該当するキーが複数存在する場合、どのキーを返すかは不定です。
Hash#index は obsolete です。
使用すると警告メッセージが表示されます。
@param val 探索に用いる値を指定します。
//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all" , :ef => "all"}
p h.key("some") #=> :ab
p h.key("all") #=> :cd
p h.key("at") #=> nil
//}
@...