ライブラリ
- ビルトイン (18)
-
cgi
/ session (1) - json (5)
-
net
/ http (6) - openssl (17)
- ostruct (3)
- rake (1)
-
rexml
/ document (4) -
rubygems
/ security (1) -
win32
/ registry (8) - win32ole (2)
クラス
- BasicObject (2)
-
CGI
:: Session (1) -
Gem
:: Security :: Signer (1) - Hash (6)
-
JSON
:: Parser (1) -
JSON
:: State (4) - KeyError (3)
-
OpenSSL
:: HMAC (1) -
OpenSSL
:: PKCS7 :: SignerInfo (1) -
OpenSSL
:: PKey :: DH (1) -
OpenSSL
:: PKey :: DSA (3) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: EC :: Point (3) -
OpenSSL
:: PKey :: RSA (5) - OpenStruct (3)
-
REXML
:: Element (4) -
Rake
:: TaskArguments (1) - Struct (4)
- Thread (2)
- WIN32OLE (2)
-
Win32
:: Registry (5) -
Win32
:: Registry :: PredefinedKey (1)
モジュール
オブジェクト
- ENV (1)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - Cipher (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 7 . 0 (1) -
REG
_ CREATED _ NEW _ KEY (1) -
REG
_ OPENED _ EXISTING _ KEY (1) - Ruby用語集 (1)
- [] (3)
- []= (1)
-
add
_ attribute (2) -
builtin
_ curves (1) - cgi (1)
- configure (1)
- default (2)
-
default
_ proc (1) - delete (1)
-
delete
_ attribute (1) - dig (2)
- disposition (1)
-
each
_ capitalized _ name (1) -
each
_ element _ with _ attribute (1) -
each
_ pair (2) - fetch (3)
- indent (1)
- indent= (1)
-
instance
_ eval (2) - iqmp= (1)
-
keyword
_ init? (1) - merge (1)
- open (2)
-
public
_ key? (1) - receiver (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 9 feature (1) - shift (1)
- store (1)
-
thread
_ variable _ get (1) -
thread
_ variable _ set (1) - tsort (1)
-
win32
/ registry (1) -
with
_ defaults (1)
検索結果
先頭5件
- Win32
:: Registry :: PredefinedKey . new(hkey , keyname) - OpenSSL
:: PKey :: EC :: Point . new(point) -> OpenSSL :: PKey :: EC :: Point - OpenSSL
:: PKey :: EC :: Point . new(group) -> OpenSSL :: PKey :: EC :: Point - OpenSSL
:: PKey :: EC :: Point . new(group , bn) -> OpenSSL :: PKey :: EC :: Point - Win32
:: Registry . new(key , subkey , desired = KEY _ READ , opt = REG _ OPTION _ RESERVED)
-
Win32
:: Registry :: PredefinedKey . new(hkey , keyname) (81904.0) -
@todo
@todo -
OpenSSL
:: PKey :: EC :: Point . new(point) -> OpenSSL :: PKey :: EC :: Point (73210.0) -
Point オブジェクトを生成します。
Point オブジェクトを生成します。
引数に OpenSSL::PKey::EC::Point オブジェクトを渡した場合は
それを複製します。
引数に OpenSSL::PKey::EC::Group オブジェクトを渡した場合は
それに関連付けられたオブジェクトを返します。
引数に OpenSSL::PKey::EC::Group オブジェクトと
整数を渡した場合は、整数で定義される点を返します。
@param point 複製する OpenSSL::PKey::EC::Point オブジェクト
@param group 関連付ける群(OpenSSL::PKey::EC::Grou... -
OpenSSL
:: PKey :: EC :: Point . new(group) -> OpenSSL :: PKey :: EC :: Point (72910.0) -
Point オブジェクトを生成します。
Point オブジェクトを生成します。
引数に OpenSSL::PKey::EC::Point オブジェクトを渡した場合は
それを複製します。
引数に OpenSSL::PKey::EC::Group オブジェクトを渡した場合は
それに関連付けられたオブジェクトを返します。
引数に OpenSSL::PKey::EC::Group オブジェクトと
整数を渡した場合は、整数で定義される点を返します。
@param point 複製する OpenSSL::PKey::EC::Point オブジェクト
@param group 関連付ける群(OpenSSL::PKey::EC::Grou... -
OpenSSL
:: PKey :: EC :: Point . new(group , bn) -> OpenSSL :: PKey :: EC :: Point (72910.0) -
Point オブジェクトを生成します。
Point オブジェクトを生成します。
引数に OpenSSL::PKey::EC::Point オブジェクトを渡した場合は
それを複製します。
引数に OpenSSL::PKey::EC::Group オブジェクトを渡した場合は
それに関連付けられたオブジェクトを返します。
引数に OpenSSL::PKey::EC::Group オブジェクトと
整数を渡した場合は、整数で定義される点を返します。
@param point 複製する OpenSSL::PKey::EC::Point オブジェクト
@param group 関連付ける群(OpenSSL::PKey::EC::Grou... -
Win32
:: Registry . new(key , subkey , desired = KEY _ READ , opt = REG _ OPTION _ RESERVED) (64603.0) -
@todo
@todo
レジストリキー key 下のキー subkey を開き,
開いたキーを表す Win32::Registry オブジェクトを返します。
key は親のキーを Win32::Registry オブジェクトで指定します。
親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)
desired はアクセスマスクです。opt はキーのオプションです。
詳細は以下の MSDN Library を参照してください。
* Registry Key Security and Access Rights: http://msdn.mic... -
Win32
:: Registry . new(key , subkey , desired = KEY _ READ , opt = REG _ OPTION _ RESERVED) {|reg| . . . } (64603.0) -
@todo
@todo
レジストリキー key 下のキー subkey を開き,
開いたキーを表す Win32::Registry オブジェクトを返します。
key は親のキーを Win32::Registry オブジェクトで指定します。
親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)
desired はアクセスマスクです。opt はキーのオプションです。
詳細は以下の MSDN Library を参照してください。
* Registry Key Security and Access Rights: http://msdn.mic... -
KeyError
. new(error _ message = "" , receiver: , key:) -> KeyError (64291.0) -
例外オブジェクトを生成して返します。
例外オブジェクトを生成して返します。
@param error_message エラーメッセージを表す文字列です
@param receiver 原因となったメソッド呼び出しのレシーバ
@param key 原因となったメソッド呼び出しのキー
//emlist[例][ruby]{
h = {foo: 1}
err = KeyError.new("Message", receiver: h, key: :bar)
p err.message # => "Message"
p err.receiver # => {:foo=>1}
p err.key # => :ba... -
OpenSSL
:: PKCS7 :: SignerInfo . new(cert , key , digest) -> OpenSSL :: PKCS7 :: SignerInfo (64225.0) -
署名者オブジェクトを証明書、秘密鍵、ダイジェスト方式から生成します。
署名者オブジェクトを証明書、秘密鍵、ダイジェスト方式から生成します。
証明書、秘密鍵、ダイジェスト方式は署名をするために利用します。
@param cert 証明書(OpenSSL::X509::Certificate オブジェクト)
@param key 秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest メッセージダイジェスト方式(文字列もしくは OpenSSL::Digest オブジェクト) -
KeyError
. new(error _ message = "" , receiver:) -> KeyError (63991.0) -
例外オブジェクトを生成して返します。
例外オブジェクトを生成して返します。
@param error_message エラーメッセージを表す文字列です
@param receiver 原因となったメソッド呼び出しのレシーバ
@param key 原因となったメソッド呼び出しのキー
//emlist[例][ruby]{
h = {foo: 1}
err = KeyError.new("Message", receiver: h, key: :bar)
p err.message # => "Message"
p err.receiver # => {:foo=>1}
p err.key # => :ba... -
CGI
:: Session . new(request , option = {}) -> CGI :: Session (63976.0) -
セッションオブジェクトを新しく作成し返します。
セッションオブジェクトを新しく作成し返します。
@param request CGI のインスタンスを指定します。
@param option ハッシュを指定することができます。
以下の文字列が option のキーとして認識されます。
: session_key
クッキーと <FORM type=hidden> の name として使われます。
(default: "_session_id")
: session_id
セッション ID として使われます。
デフォルトのデータベースである FileStore を用いる場合,
値は英数字だけからなる文字列で無けれ... -
OpenSSL
:: PKey :: DH . new(size , generator = 2) -> OpenSSL :: PKey :: DH (63928.0) -
DH オブジェクトを生成します。
DH オブジェクトを生成します。
第1引数に整数を渡した場合は、OpenSSL::PKey::DH#generate と
同じです。
それ以外の場合には、以下のようにして鍵パラメータを読みこみ、DH オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵パラメータを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DH オブジェクトを生成します。
* 第一引数が to_der メソッドを持つ場合は、それにより DER 形式の
文字列に変換してから読み込みます
この場合鍵... -
Gem
:: Security :: Signer . new(key , cert _ chain) -> Gem :: Security :: Signer (63925.0) -
与えられた鍵と証明書チェーンを用いて自身を初期化します。
与えられた鍵と証明書チェーンを用いて自身を初期化します。
@param key 鍵を指定します。
@param cert_chain 証明書チェーンを指定します。 -
OpenSSL
:: PKey :: RSA . new(obj , pass = nil) -> OpenSSL :: PKey :: RSA (63916.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: RSA . new(obj , pass = nil) {|flag| . . . } -> OpenSSL :: PKey :: RSA (63916.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: RSA . new(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (63916.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: RSA . new(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (63916.0) -
RSA 暗号鍵オブジェクトを生成します。
RSA 暗号鍵オブジェクトを生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、RSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで RSA オブジェクトを生成します。
* 第一引数が to_d... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) -> OpenSSL :: PKey :: DSA (63913.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) {|flag| . . . } -> OpenSSL :: PKey :: DSA (63913.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: PKey :: DSA . new(size) -> OpenSSL :: PKey :: DSA (63913.0) -
DSA オブジェクトを生成します。
DSA オブジェクトを生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクト
を生成します。
* 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して
鍵データを読み込みます
* 第一引数が IO オブジェクトの場合は、その内容を
読み込んで DSA オブジェクトを生成します。
* 第一引数が to_der ... -
OpenSSL
:: HMAC . new(key , digest) -> OpenSSL :: HMAC (54925.0) -
HMAC を計算するためのオブジェクトを生成します。
HMAC を計算するためのオブジェクトを生成します。
生成されたオブジェクトの内部状態は入力なしの状態にリセットされます。
digest には利用するハッシュ関数を表す文字列("md5", "sha256" など)
を渡します。
@param key 利用する鍵の文字列
@param digest 利用するハッシュ関数 -
Hash
. new(ifnone = nil) -> Hash (54703.0) -
空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
空の新しいハッシュを生成します。ifnone はキーに対
応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
ifnoneを省略した Hash.new は {} と同じです。
デフォルト値として、毎回同一のオブジェクトifnoneを返します。
それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。
//emlist[][ruby]{
h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]
//}
これを避けるには、破壊的でないメソッドで再代入する... -
JSON
:: Parser . new(source , options => {}) -> JSON :: Parser (54676.0) -
パーサを初期化します。
パーサを初期化します。
第二引数のハッシュには以下のキーを指定することができます。
: :max_nesting
データ構造のネストの深さの最大値を指定します。デフォルトは 19 です。
チェックを無効にするにはゼロまたは偽を指定してください。
: :allow_nan
真を指定すると 4627 を無視して NaN, Infinity, -Infinity をパースエラーにしません。
デフォルトは偽です。
: :create_additions
偽を指定するとマッチするクラスや ID があっても付加情報を生成しません。デフォルトは真です。
: :object_clas... -
Struct
. new(*args , keyword _ init: nil) -> Class (46294.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...す。
@param keyword_init true を指定すると、キーワード引数で初期化する構造体を定義します。
Ruby 3.1 では互換性に影響のある使い方をしたときに警告が出るため、
従来の挙動を期待する構造体に... -
Struct
. new(*args , keyword _ init: nil) {|subclass| block } -> Class (46294.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...す。
@param keyword_init true を指定すると、キーワード引数で初期化する構造体を定義します。
Ruby 3.1 では互換性に影響のある使い方をしたときに警告が出るため、
従来の挙動を期待する構造体に... -
OpenSSL
:: PKey :: EC # public _ key? -> bool (45640.0) -
EC オブジェクトが公開鍵を保持していれば真を返します。
EC オブジェクトが公開鍵を保持していれば真を返します。
OpenSSL::PKey::RSA や OpenSSL::PKey::DSA と
異なり、EC オブジェクトが公開鍵を含まない場合が存在します。
例えば、OpenSSL::PKey::EC.new でパラメータとなる群のみを
指定して EC オブジェクトを作った場合は、公開鍵も秘密鍵も
保持していません。この場合 OpenSSL::PKey::EC#generate_key で
鍵を生成するまで、その状態のままです。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必... -
Win32
:: Registry :: Constants :: REG _ CREATED _ NEW _ KEY (45610.0) -
@todo
@todo
キーが新しく作られたか、既存キーが開かれたか。
Win32::Registry#disposition メソッドも参照してください。 -
Win32
:: Registry :: Constants :: REG _ OPENED _ EXISTING _ KEY (45610.0) -
@todo
@todo
キーが新しく作られたか、既存キーが開かれたか。
Win32::Registry#disposition メソッドも参照してください。 -
Struct
. keyword _ init? -> bool | nil (36655.0) -
(このメソッドは Struct の下位クラスにのみ定義されています) 構造体が作成されたときに keyword_init: true を指定されていたら true を返します。 false を指定されていたら false を返します。 それ以外の場合は nil を返します。
(このメソッドは Struct の下位クラスにのみ定義されています)
構造体が作成されたときに keyword_init: true を指定されていたら true を返します。
false を指定されていたら false を返します。
それ以外の場合は nil を返します。
//emlist[例][ruby]{
Foo = Struct.new(:a)
Foo.keyword_init? # => nil
Bar = Struct.new(:a, keyword_init: true)
Bar.keyword_init? # => true
Baz = Struct.new(:a, key... -
OpenSSL
:: PKey :: RSA # iqmp=(new _ iqmp) (27922.0) -
鍵の coefficient を設定します。
鍵の coefficient を設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param new_iqmp 設定する整数値 -
KeyError
# receiver -> object (27337.0) -
KeyError の原因となったメソッド呼び出しのレシーバを返します。
KeyError の原因となったメソッド呼び出しのレシーバを返します。
@raise ArgumentError レシーバが設定されていない時に発生します。
例:
h = Hash.new
begin
h.fetch('gumby'*20)
rescue KeyError => e
p e.message # => "key not found: \"gumbygumbygumbygumbygumbygumbygumbygumbygumbygumbygumbygumbyg..."
p h.equal?(e.receiver) ... -
OpenSSL
:: PKey :: EC . builtin _ curves -> [[String , String]] (27319.0) -
組み込みの曲線の名前と、それに対する説明を文字列の配列ペアの配列で返します。
組み込みの曲線の名前と、それに対する説明を文字列の配列ペアの配列で返します。
例:
require 'openssl'
OpenSSL::PKey::EC.builtin_curves
# => [["secp112r1", "SECG/WTLS curve over a 112 bit prime field"],
# ["secp112r2", "SECG curve over a 112 bit prime field"],
# ["secp128r1", "SECG curve over a 128 bit prime field"],
... -
Win32
:: Registry . open(key , subkey , desired = KEY _ READ , opt = REG _ OPTION _ RESERVED) (19303.0) -
@todo
@todo
レジストリキー key 下のキー subkey を開き,
開いたキーを表す Win32::Registry オブジェクトを返します。
key は親のキーを Win32::Registry オブジェクトで指定します。
親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)
desired はアクセスマスクです。opt はキーのオプションです。
詳細は以下の MSDN Library を参照してください。
* Registry Key Security and Access Rights: http://msdn.mic... -
Win32
:: Registry . open(key , subkey , desired = KEY _ READ , opt = REG _ OPTION _ RESERVED) {|reg| . . . } (19303.0) -
@todo
@todo
レジストリキー key 下のキー subkey を開き,
開いたキーを表す Win32::Registry オブジェクトを返します。
key は親のキーを Win32::Registry オブジェクトで指定します。
親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)
desired はアクセスマスクです。opt はキーのオプションです。
詳細は以下の MSDN Library を参照してください。
* Registry Key Security and Access Rights: http://msdn.mic... -
REXML
:: Element # delete _ attribute(key) -> REXML :: Attribute | nil (19006.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... -
JSON
:: State # indent=(string) (18763.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 # indent -> String (18691.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\"}"
//} -
Thread
# thread _ variable _ get(key) -> object | nil (18688.0) -
引数 key で指定した名前のスレッドローカル変数を返します。
引数 key で指定した名前のスレッドローカル変数を返します。
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。
例:
Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ローカル
Fiber.new {
Fiber.yield ... -
REXML
:: Element # each _ element _ with _ attribute(key , value = nil , max = 0 , name = nil) {|element| . . . } -> () (18676.0) -
特定の属性を持つすべての子要素を引数としてブロックを呼び出します。
特定の属性を持つすべての子要素を引数としてブロックを呼び出します。
key で指定した属性名の属性を持つ要素のみを対象とします。
value を指定すると、keyで指定した属性名を持つ属性の値がvalueである
もののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。
max に 0 を指定すると、max の指定は無視されます(0個ではありません)。
@param key 属性名(文字列)
@param value 属性値(文字列)
... -
Struct
# dig(key , . . . ) -> object | nil (18676.0) -
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。
@param key キーを任意個指定します。
//emlist[例][ruby]{
klass = Struct.new(:a)
o = klass.new(klass.new({b: [1, 2, 3]}))
o.dig(:a, :a, :b, 0) # => 1
o.dig(:b, 0) # => nil
//}
@see Array#dig, Hash#d... -
BasicObject
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (18673.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
Thread
# thread _ variable _ set(key , value) (18670.0) -
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま
す。
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。
//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join ... -
OpenStruct
# dig(key , . . . ) -> object | nil (18658.0) -
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。
@param key キーを任意個指定します。
require 'ostruct'
address = OpenStruct.new('city' => "Anytown NC", 'zip' => 12345)
person = OpenStruct.new('name' => 'John Smith', 'address' => address)
person.dig(:address, 'zip') ... -
REXML
:: Element # add _ attribute(key , value) -> () (18658.0) -
要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。
文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。
@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = ... -
OpenStruct
# each _ pair { |key , value| } -> self (18622.0) -
self の各要素の名前と要素を引数としてブロックを評価します。
self の各要素の名前と要素を引数としてブロックを評価します。
ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。
例:
require 'ostruct'
data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
data.each_pair.to_a # => population, 20000000 -
NEWS for Ruby 2
. 7 . 0 (18613.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...も1個のエスケープされた文字があるときに2~5倍速くなりました。
https://github.com/ruby/ruby/pull/2226
* CSV
* 3.1.2に更新されました。
https://github.com/ruby/csv/blob/master/NEWS.md
* Date
* Date.jisx0301, Date#jisx0301, Date.parseが新....../NEWS.md
* RubyGems
* RubyGems 3.1.2に更新されました。
* https://github.com/rubygems/rubygems/releases/tag/v3.1.0
* https://github.com/rubygems/rubygems/releases/tag/v3.1.1
* https://github.com/rubygems/rubygems/releases/tag/v3.1.2
* StringScanner
* 1.0.3に... -
JSON
:: State # configure(options = {}) -> self (18499.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\... -
cgi (18433.0)
-
CGI プログラムの支援ライブラリです。
CGI プログラムの支援ライブラリです。
CGI プロトコルの詳細については以下の文書を参照してください。
* https://tools.ietf.org/html/draft-coar-cgi-v11-03
* 3875: The Common Gateway Interface (CGI) Version 1.1
* https://www.w3.org/CGI/
=== 使用例
==== フォームフィールドの値を得る
//emlist[][ruby]{
require "cgi"
cgi = CGI.new
values = cgi['field_name'] ... -
Hash
# shift -> [object , object] | nil (18403.0) -
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、 [key, value]という配列として返します。
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、
[key, value]という配列として返します。
shiftは破壊的メソッドです。selfは要素を取り除かれた残りのハッシュに変更されます。
ハッシュが空の場合、デフォルト値(Hash#defaultまたはHash#default_procのブロックの値か、どちらもnilならばnil)
を返します(このとき、[key,value] という形式の値を返すわけではないことに注意)。
将来のバージョン(Ruby 3.2を予定)ではデフォルト値に関わらず nil になる予定なので、デフォルト値を設定しているハッシュで
shift ... -
BasicObject
# instance _ eval {|obj| . . . } -> object (18373.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
Rake
:: TaskArguments # with _ defaults(defaults) -> Hash (18373.0) -
パラメータにデフォルト値をセットします。
パラメータにデフォルト値をセットします。
@param defaults デフォルト値として使用するキーと値を格納したハッシュを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
arguments.to_hash ... -
REXML
:: Element # add _ attribute(attr) -> () (18358.0) -
要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。
文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。
@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = ... -
Net
:: HTTPHeader # each _ capitalized _ name {|name| . . . . } -> () (18355.0) -
保持しているヘッダ名を正規化 ('x-my-header' -> 'X-My-Header') して、ブロックに渡します。
保持しているヘッダ名を正規化
('x-my-header' -> 'X-My-Header')
して、ブロックに渡します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.each_capitalized_name { |key| puts key }
# => Accept-Encoding
# => Accept
# => User-Agent
//} -
Win32
:: Registry # disposition (18355.0) -
@todo
@todo
キーの disposition 値を返します。
(REG_CREATED_NEW_KEY または REG_OPENED_EXISTING_KEY) -
OpenSSL
:: Cipher (18325.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。
以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::... -
OpenStruct
# each _ pair -> Enumerator (18322.0) -
self の各要素の名前と要素を引数としてブロックを評価します。
self の各要素の名前と要素を引数としてブロックを評価します。
ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。
例:
require 'ostruct'
data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
data.each_pair.to_a # => population, 20000000 -
NEWS for Ruby 2
. 0 . 0 (18181.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... -
win32
/ registry (18091.0) -
win32/registry は Win32 プラットフォームでレジストリをアクセスするための ライブラリです。Win32 API の呼び出しに Win32API を使います。
win32/registry は Win32 プラットフォームでレジストリをアクセスするための
ライブラリです。Win32 API の呼び出しに Win32API を使います。
//emlist{
require 'win32/registry'
Win32::Registry::HKEY_CURRENT_USER.open('SOFTWARE\foo') do |reg|
value = reg['foo'] # 値の読み込み
value = reg['foo', Win32::Registry::REG_SZ] ... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (14653.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ruby 1
. 6 feature (12997.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
ruby 1
. 9 feature (10891.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ... -
ruby 1
. 8 . 2 feature (10369.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
ruby 1
. 8 . 4 feature (9919.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
JSON
:: State # merge(options = {}) -> self (9499.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\... -
WIN32OLE
# [](key . . . ) -> object (9340.0) -
オブジェクトのデフォルトプロパティを参照します。
オブジェクトのデフォルトプロパティを参照します。
OLEオートメーションにはデフォルトプロパティというプロパティ名を指定せず
にアクセスできるプロパティがあります。
WIN32OLEからデフォルトプロパティにアクセスするには、[]内に必要なキーを
「,」で区切って記述します。シンボルは文字列として扱います。
なおデフォルトプロパティは記述が省略できるプロパティ名に意味がないため、
OLEオートメーション規約ではItemと命名することが決められています。
@param key プロパティでアクセスする情報を特定するキーを指定します。プロ
パティの特定に複数のキーが必... -
WIN32OLE
# []=(key . . . , value) -> () (9340.0) -
オブジェクトのデフォルトプロパティを設定します。
オブジェクトのデフォルトプロパティを設定します。
OLEオートメーションにはデフォルトプロパティというプロパティ名を指定せず
にアクセスできるプロパティがあります。
WIN32OLEからデフォルトプロパティにアクセスするには、[]内に必要なキーを
記述します。
なおデフォルトプロパティは記述が省略できるプロパティ名には意味がありま
せん。このためOLEオートメーション規約では一律にItemと命名することが決め
られています。
@param key プロパティでアクセスする情報を特定するキーを指定します。プロ
パティの特定に複数のキーが必要な場合は「,」で区切って列... -
ENV
. store(key , value) -> String (883.0) -
key に対応する環境変数の値を value にします。 value が nil の時、key に対応する環境変数を取り除きます。
key に対応する環境変数の値を value にします。
value が nil の時、key に対応する環境変数を取り除きます。
@param key 環境変数名を指定します。文字列で指定します。文字列以外のオ
ブジェクトを指定した場合は to_str メソッドによる暗黙の型変
換を試みます。
@param value 置き換えるべき値を指定します。文字列で指定します。文字列以
外のオブジェクトを指定した場合は to_str メソッドによる暗黙
の型変換を試みます。
@retur... -
Net
:: HTTPHeader # fetch(key) -> String (874.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # fetch(key) {|hash| . . . . } -> String (874.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Net
:: HTTPHeader # fetch(key , default) -> String (874.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て ", " で連結した文字列を返します。
key は大文字小文字を区別しません。
@param key ヘッダフィール名を文字列で与えます。
@param default 該... -
Hash
# [](key) -> object | nil (760.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
# default(key) -> object | nil (730.0) -
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値がブロックで与えられている場合、 1 番目の形式だと
返り値が nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と引数 key をブロックに渡して評価し、その結果を返します。
@param key デフォルトのブロックにキーとして渡されます。
//emlist[例][ruby]{
h = Hash.new("default")
p h.... -
Net
:: HTTPHeader # [](key) -> String|nil (706.0) -
key ヘッダフィールドを返します。
key ヘッダフィールドを返します。
たとえばキー 'content-length' に対しては '2048'
のような文字列が得られます。キーが存在しなければ nil を返します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req['user-agent'] # => Ruby
//}
一種類のヘッダフィールドが一つのヘッダの中に複数存在する
場合にはそれを全て... -
Net
:: HTTPHeader # delete(key) -> [String] | nil (706.0) -
key ヘッダフィールドを削除します。
key ヘッダフィールドを削除します。
@param key 削除するフィールド名
@return 取り除かれたフィールドの値を返します。
key ヘッダフィールドが存在しなかった場合には
nil を返します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(uri.request_uri)
req.content_length = 10
req.content_length... -
Hash
# default -> object | nil (430.0) -
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値を返します。
ハッシュのデフォルト値がブロックで与えられている場合、 1 番目の形式だと
返り値が nil になることに注意してください。この場合、ハッシュのデフォルト値に
ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。
2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、
self と引数 key をブロックに渡して評価し、その結果を返します。
@param key デフォルトのブロックにキーとして渡されます。
//emlist[例][ruby]{
h = Hash.new("default")
p h.... -
Hash
# default _ proc -> Proc | nil (373.0) -
ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
ハッシュのデフォルト値を返す Proc オブジェクトを返します。
ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。
//emlist[例][ruby]{
h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default #=> nil
p block = h.default_proc #=> #<Proc:0x0x401a9ff4>
p block.call({},:foo) #=> "The foo not exist in {}"
h... -
Ruby用語集 (157.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
...メソッドの
いくつかは未定義にされている。
: リテラル
: literal
プログラム中に直接記述された値のこと。3.14 や "foo" や /\d+/ はリテラル
だが、1 + 2 はリテラルではない。
Math::PI も定数参照なのでリテラルではない。... -
tsort (91.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//emlist[][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
{1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
#=> [3, 2, 1, 4]
{1=>[2], 2=>[3, 4...