るりまサーチ (Ruby 3.0)

最速Rubyリファレンスマニュアル検索!
282件ヒット [201-282件を表示] (0.049秒)
トップページ > クエリ:![x] > バージョン:3.0[x]

別のキーワード

  1. _builtin slice!
  2. _builtin reject!
  3. _builtin select!
  4. string slice!
  5. string gsub!

ライブラリ

モジュール

オブジェクト

キーワード

検索結果

<< < 1 2 3 >>

NEWS for Ruby 2.3.0 (37.0)

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

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

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス...

NEWS for Ruby 2.7.0 (37.0)

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

...に注意してください。

* パターンマッチに対する警告は「-W:no-experimental」オプションで抑制できます。

==== 3.0 に向けてのキーワード引数の仕様変更

* キーワード引数と位置引数の自動変換は自動変換が非推奨となりま...
...ンで止められます。

//emlist{
def foo
class << Object.new
yield #=> warning: `yield' in class syntax will not be supported from Ruby 3.0. 15575
end
end
foo { p :ok }
//}

* 引数を転送する記法「(...)」が導入されました。 16253
* foo の全ての引数(キー...
...//emlist[][ruby]{
def foo(...)
bar(...)
end
//}

* 「$SAFE」の参照や代入は警告が表示されるようになりました。
Ruby 3.0 で「$SAFE」は普通のグローバル変数になる予定です。 16131

* Object#taint,Object#untaint,Object#trust,Object#untrustと関連...

Object#===(other) -> bool (37.0)

case 式で使用されるメソッドです。d:spec/control#case も参照してください。

case 式で使用されるメソッドです。d:spec/control#case も参照してください。

このメソッドは case 式での振る舞いを考慮して、
各クラスの性質に合わせて再定義すべきです。

デフォルトでは内部で Object#== を呼び出します。

when 節の式をレシーバーとして === を呼び出すことに注意してください。

また Enumerable#grep でも使用されます。

@param other 比較するオブジェクトです。

//emlist[][ruby]{
age = 12
# (0..2).===(12), (3..6).===(12), ... が実行...

OpenSSL::PKey::DH (37.0)

Diffie-Hellman 鍵共有クラス

Diffie-Hellman 鍵共有クラス

Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。

Diffie-Hellman はこのライブラリでは基本的には鍵共有にしか利用できません。


=== 例

鍵共有の例。
require 'openssl'

# パラメータの生成
dh = OpenSSL::PKey::DH.generate(10...

OptionParser#default_argv=(argv) (37.0)

自身がデフォルトでパースする引数を文字列の配列で指定します。

自身がデフォルトでパースする引数を文字列の配列で指定します。

OptionParser#parse の引数が指定されなかったときに使われます。

@param argv デフォルトでパースしたい文字列の配列を指定します。

//emlist[例][ruby]{
require "optparse"

config = {}
opts = OptionParser.new
opts.on("-r", "--require LIBRARY"){|lib| config[:lib] = lib }

# パラメーター指定なしで実行
opts.default_argv # => []
opts.p...

絞り込み条件を変える

Proc#<<(callable) -> Proc (37.0)

self と引数を合成した Proc を返します。

self と引数を合成した Proc を返します。

戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を callable に渡して呼び出し、
その戻り値を self に渡して呼び出した結果を返します。

Proc#>> とは呼び出しの順序が逆になります。

@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。

//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }

# (3 + 3) * (3 + ...

Proc#>>(callable) -> Proc (37.0)

self と引数を合成した Proc を返します。

self と引数を合成した Proc を返します。

戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を self に渡して呼び出し、
その戻り値を callable に渡して呼び出した結果を返します。

Proc#<< とは呼び出しの順序が逆になります。

@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。

//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }

# (3 * 3) + (3 * ...

Psych::Handler#start_document(version, tag_directives, implicit) -> () (37.0)

YAML ドキュメントの始まりで呼び出されます。

YAML ドキュメントの始まりで呼び出されます。

version には YAML ドキュメントに宣言されているバージョンが
[major, minor] という配列で渡されます。宣言がない場合は空の配列が渡されます。

tag_directives には tag directive の配列が渡されます。
それぞれの tag は [prefix, suffix] という配列で表現されます。

implicit にはドキュメントが implicit に始まっているかどうかが
真偽値で渡されます。

必要に応じてこのメソッドを override してください。


@param version ...

Symbol (37.0)

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
同じ内容のシンボルはかならず同一のオブジェクトです。

シンボルオブジェクトは以下のようなリテラルで得られます。

:symbol
:'symbol'
%s!symbol! # %記法

生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
(`$'...

rexml/document (37.0)

DOM スタイルの XML パーサ。

DOM スタイルの XML パーサ。

REXML::Document.new で XML 文書から DOM ツリーを
構築し、ツリーのノードの各メソッドで文書の内容にアクセスします。

以下のプログラムではブックマークの XML からデータを取り出します。

//emlist[][ruby]{
require 'rexml/document'
require 'pp'

Bookmark = Struct.new(:href, :title, :desc)

doc = REXML::Document.new(<<XML)
<?xml version="1.0" encoding="UTF-...

絞り込み条件を変える

ruby 1.8.4 feature (37.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]: 追加され...

rubygems/security (37.0)

このライブラリは暗号署名を RubyGems パッケージに使用するために使用します。

このライブラリは暗号署名を RubyGems パッケージに使用するために使用します。

=== 署名付きの Gem パッケージ

==== 目次

* 概要
* 解説
* コマンドラインオプション
* OpenSSL リファレンス
* Bugs / TODO
* 作者について

==== 概要

このライブラリは暗号署名を RubyGems パッケージに使用するために使用します。
以下のセクションでは、署名付きの Gem パッケージを作成する方法を
ステップバイステップで解説しています。

==== 解説
@todo メソッドではない

あなたが自分の Gem に署名するためには、...

yaml/store (37.0)

RubyのオブジェクトをYAML形式の外部ファイルに格納するためのクラスです。

RubyのオブジェクトをYAML形式の外部ファイルに格納するためのクラスです。

例:

require 'yaml/store'

Person = Struct.new :first_name, :last_name

people = [Person.new("Bob", "Smith"), Person.new("Mary", "Johnson")]

store = YAML::Store.new "test.store"

store.transaction do
store["people"] = people
store["greeting"...

パターンマッチ (37.0)

パターンマッチ * patterns * variable_binding * variable_pinning * matching_non_primitive_objects * guard_clauses * current_feature_status * pattern_syntax * some_undefined_behavior_examples

...by]{
case [1, 1]
in a, b unless b == a*2
"matched"
else
"not matched"
end
#=> "matched"
//}

===[a:current_feature_status] 機能の現状

Ruby 3.0 の時点では、1行パターンマッチ と Find パターンは 「実験的機能」 扱いです。1行パターンマッチ と Find パタ...

メソッド呼び出し(super・ブロック付き・yield) (37.0)

メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * it * call_method

メソッド呼び出し(super・ブロック付き・yield)
* super
* block
* yield
* block_arg
* numbered_parameters
* it
* call_method

//emlist[例][ruby]{
foo.bar()
foo.bar
bar()
print "hello world\n"
print
Class.new
Class::new
//}

文法:

[式 `.'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
[式 `::'] 識別...

絞り込み条件を変える

Array.new(ary) -> Array (25.0)

指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。

指定された配列 ary を複製して返します。
Array#dup 同様 要素を複製しない浅い複製です。

@param ary 複製したい配列を指定します。

//emlist[例][ruby]{
p Array.new([1,2,3]) # => [1,2,3]

a = ["a", "b", "c"]
b = Array.new(a)
a.each{|s| s.capitalize! }
p a #=> ["A", "B", "C"]
p b #=> ["A", "B", "C"] (b は ...

Array.new(size = 0, val = nil) -> Array (25.0)

長さ size の配列を生成し、各要素を val で初期化して返します。

長さ size の配列を生成し、各要素を val で初期化して返します。

要素毎に val が複製されるわけではないことに注意してください。
全要素が同じオブジェクト val を参照します。
後述の例では、配列の各要素は全て同一の文字列を指します。

@param size 配列の長さを数値で指定します。

@param val 配列の要素の値を指定します。

//emlist[例][ruby]{
ary = Array.new(3, "foo")
p ary #=> ["foo", "foo", "foo"]
ary[0].capitalize!
...

Array.new(size) {|index| ... } -> Array (25.0)

長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、 各要素の値をブロックの評価結果に設定します。

長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、
各要素の値をブロックの評価結果に設定します。

ブロックは要素毎に実行されるので、全要素をあるオブジェクトの複製にすることができます。

@param size 配列の長さを数値で指定します。

//emlist[例][ruby]{
ary = Array.new(3){|index| "hoge#{index}"}
p ary #=> ["hoge0", "hoge1", "hoge2"]
//}

//emlist[例][ruby]{
ary = Array.ne...

Hash#delete_if -> Enumerator (25.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#delete_if {|key, value| ... } -> self (25.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 =...

絞り込み条件を変える

Net::POPMail#delete -> () (22.0)

メールに削除マークを付けます。

メールに削除マークを付けます。

削除マークを付けたメールは読み出せなくなります。
セッション終了時に実際に削除されます。
Net::POP3#reset を呼ぶと削除マークは取り消されます。

delete! は obsolete です。

@raise TimeoutError 通信がタイムアウトした場合に発生します
@raise Net::POPError サーバが認証失敗以外のエラーを報告した場合に発生します
@raise Net::POPBadResponse サーバからの応答がプロトコル上不正であった場合に発生します
@see Net::POPMail#deleted?

Array#fill {|index| ... } -> self (19.0)

すべての要素に val をセットします。

すべての要素に val をセットします。

このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください。
val の代わりにブロックを指定するとブロックの評価結果を値とします。

@param val 自身にセットしたいオブジェクトを指定します。

//emlist[例][ruby]{
a = [0, 1, 2, 3, 4]
a.fill(10)
p a #=> [10, 10, 10, 10, 10]

a = [0, 1, 2, 3, 4]
a.fill("a")
p a #=> ["a", "a", "a", "a", "a"]
a[0].capitali...

Array#fill(val) -> self (19.0)

すべての要素に val をセットします。

すべての要素に val をセットします。

このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください。
val の代わりにブロックを指定するとブロックの評価結果を値とします。

@param val 自身にセットしたいオブジェクトを指定します。

//emlist[例][ruby]{
a = [0, 1, 2, 3, 4]
a.fill(10)
p a #=> [10, 10, 10, 10, 10]

a = [0, 1, 2, 3, 4]
a.fill("a")
p a #=> ["a", "a", "a", "a", "a"]
a[0].capitali...

CSV::Table#[]=(index_or_header, value) (19.0)

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作 し、ヘッダの名前を指定すれば列単位で動作します。

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作
し、ヘッダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

行には配列か CSV::Row のインスタンスを指定します。

列に値を一つだけ指定した場合は、全ての行にその値をコピーします。配列を
指定した場合は、上から順に値を割り当てます。余分な値は無視します。また、
値が不足している場合は nil を割り当てます。

既存の行または列のデータ...

CSV::Table#by_col_or_row -> CSV::Table (19.0)

ミックスモードになっている新しい CSV::Table オブジェクトを返します。

ミックスモードになっている新しい CSV::Table オブジェクトを返します。

元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気をつけて
ください。

このメソッドは複製したテーブルを返すので、破壊的なメソッドはメソッド
チェーンに組込まないようにしてください。

//emlist[例][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new([...

絞り込み条件を変える

CSV::Table#delete_if {|column_name, values| ... } -> self (19.0)

ブロックを評価した結果が真である行か列を削除します。

ブロックを評価した結果が真である行か列を削除します。

デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。

//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["...

CSV::Table#delete_if {|row| ... } -> self (19.0)

ブロックを評価した結果が真である行か列を削除します。

ブロックを評価した結果が真である行か列を削除します。

デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。

//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["...

CSV::Table#each {|column_name, values| ... } -> self (19.0)

デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し ます。

デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。

//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row3 = CSV::Row.new(["header1", "header2"], ["row3...

CSV::Table#each {|row| ... } -> self (19.0)

デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し ます。

デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラ
ムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返し
ます。

//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row3 = CSV::Row.new(["header1", "header2"], ["row3...

CSV::Table#mode -> Symbol (19.0)

現在のアクセスモードを返します。

現在のアクセスモードを返します。

//emlist[例][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row])
table.mode # => :col_or_row
table.by_col!
table.mode # => :col
//}

絞り込み条件を変える

CSV::Table#values_at(indices_or_headers) -> Array (19.0)

デフォルトのミックスモードでは、インデックスのリストを与えると行単位の 参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行 単位の参照では、返り値は行ごとの配列を要素に持つ配列です。

デフォルトのミックスモードでは、インデックスのリストを与えると行単位の
参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行
単位の参照では、返り値は行ごとの配列を要素に持つ配列です。

探索方法を変更したい場合は CSV::Table#by_col!,
CSV::Table#by_row! を使用してください。

アクセスモードを混在させることはできません。

//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
r...

Dir.[](*pattern, base: nil, sort: true) -> [String] (19.0)

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

ワイルドカードの展開を行い、
パターンにマッチするファイル名を文字列の配列として返します。
パターンにマッチするファイルがない場合は空の配列を返します。

ブロックが与えられたときはワイルドカードにマッチしたファイルを
引数にそのブロックを 1 つずつ評価して nil を返します

@param pattern パターンを文字列か配列で指定します。
配列を指定すると複数のパターンを指定できます。

@param flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動...

Dir.glob(pattern, flags = 0, base: nil, sort: true) -> [String] (19.0)

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

ワイルドカードの展開を行い、
パターンにマッチするファイル名を文字列の配列として返します。
パターンにマッチするファイルがない場合は空の配列を返します。

ブロックが与えられたときはワイルドカードにマッチしたファイルを
引数にそのブロックを 1 つずつ評価して nil を返します

@param pattern パターンを文字列か配列で指定します。
配列を指定すると複数のパターンを指定できます。

@param flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動...

Dir.glob(pattern, flags = 0, base: nil, sort: true) {|file| ...} -> nil (19.0)

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

ワイルドカードの展開を行い、
パターンにマッチするファイル名を文字列の配列として返します。
パターンにマッチするファイルがない場合は空の配列を返します。

ブロックが与えられたときはワイルドカードにマッチしたファイルを
引数にそのブロックを 1 つずつ評価して nil を返します

@param pattern パターンを文字列か配列で指定します。
配列を指定すると複数のパターンを指定できます。

@param flags File.fnmatch に指定できるフラグと同様のフラグを指定できます。
このフラグを指定することでマッチの挙動...

Fiber#raise -> object (19.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。

引数を渡さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
この場合、2つ目の引数に例外...

絞り込み条件を変える

Fiber#raise(exception, message = nil, backtrace = nil) -> object (19.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。

引数を渡さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
この場合、2つ目の引数に例外...

Fiber#raise(message) -> object (19.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。

引数を渡さない場合、RuntimeError が発生します。
message 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。

その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります。
この場合、2つ目の引数に例外...

FileUtils#sh(*cmd) {|result, status| ... } (19.0)

与えられたコマンドを実行します。

与えられたコマンドを実行します。

与えられた引数が複数の場合、シェルを経由しないでコマンドを実行します。

@param cmd 引数の解釈に関しては Kernel.#exec を参照してください。


例:
sh %{ls -ltr}

sh 'ls', 'file with spaces'

# check exit status after command runs
sh %{grep pattern file} do |ok, res|
if ! ok
puts "pattern not found (status = #...

Hash#clone -> Hash (19.0)

selfと同じ内容を持つ新しいハッシュを返します。

selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。

//emlist[例][ruby]{
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p ...

Hash#dup -> Hash (19.0)

selfと同じ内容を持つ新しいハッシュを返します。

selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。

//emlist[例][ruby]{
h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p ...

絞り込み条件を変える

Integer#times -> Enumerator (19.0)

self 回だけ繰り返します。 self が正の整数でない場合は何もしません。

self 回だけ繰り返します。
self が正の整数でない場合は何もしません。

またブロックパラメータには 0 から self - 1 までの数値が渡されます。

//emlist[][ruby]{
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" } # 何も表示されない。
5.times {|n| print n } # 01234 と表示される。
//}

@see Integer#upto, Integer#downto,...

Integer#times {|n| ... } -> self (19.0)

self 回だけ繰り返します。 self が正の整数でない場合は何もしません。

self 回だけ繰り返します。
self が正の整数でない場合は何もしません。

またブロックパラメータには 0 から self - 1 までの数値が渡されます。

//emlist[][ruby]{
3.times { puts "Hello, World!" } # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" } # 何も表示されない。
5.times {|n| print n } # 01234 と表示される。
//}

@see Integer#upto, Integer#downto,...

Kernel.#Complex(r, i = 0, exception: true) -> Complex | nil (19.0)

実部が r、虚部が i である Complex クラスのオブジェクトを生成します。

実部が r、虚部が i である Complex クラスのオブジェクトを生成します。

@param r 生成する複素数の実部。

@param i 生成する複素数の虚部。省略した場合は 0 です。

@param s 生成する複素数を表す文字列。

@param exception false を指定すると、変換できなかった場合、
例外を発生する代わりに nil を返します。

@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。

//emlist[例][ruby]{
Complex(1) # => (...

Kernel.#Complex(s, exception: true) -> Complex | nil (19.0)

実部が r、虚部が i である Complex クラスのオブジェクトを生成します。

実部が r、虚部が i である Complex クラスのオブジェクトを生成します。

@param r 生成する複素数の実部。

@param i 生成する複素数の虚部。省略した場合は 0 です。

@param s 生成する複素数を表す文字列。

@param exception false を指定すると、変換できなかった場合、
例外を発生する代わりに nil を返します。

@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。

//emlist[例][ruby]{
Complex(1) # => (...

Kernel.#loop -> Enumerator (19.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

(中断されない限り)永遠にブロックの評価を繰り返します。
ブロックが指定されなければ、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返した値を返します。
ループを終了させる場合、通常は break を使用してください。

//emlist...

絞り込み条件を変える

Kernel.#loop { ... } -> object | nil (19.0)

(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。

(中断されない限り)永遠にブロックの評価を繰り返します。
ブロックが指定されなければ、代わりに Enumerator を返します。

//emlist[例][ruby]{
loop do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}

与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返した値を返します。
ループを終了させる場合、通常は break を使用してください。

//emlist...

Kernel.#print(*arg) -> nil (19.0)

引数を順に標準出力 $stdout に出力します。引数が与えられない時には変数 $_ の値を出力します。

引数を順に標準出力 $stdout に出力します。引数が与えられない時には変数
$_ の値を出力します。

文字列以外のオブジェクトが引数として与えられた場合には、
to_s メソッドにより文字列に変換してから出力します。

変数 $, (出力フィールドセパレータ)に nil で
ない値がセットされている時には、各引数の間にその文字列を出力します。
変数 $\ (出力レコードセパレータ)に nil でな
い値がセットされている時には、最後にそれを出力します。

@param arg 出力するオブジェクトを任意個指定します。
@raise IOError 標準出力が書き込み用にオープンされてい...

Kernel.#trace_var(varname) {|new_val| .... } -> nil (19.0)

グローバル変数 varname への代入のフックを登録します。

グローバル変数 varname への代入のフックを登録します。

ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。

この呼び出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。

trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に n...

Kernel.#trace_var(varname, hook) -> [String|Proc] (19.0)

グローバル変数 varname への代入のフックを登録します。

グローバル変数 varname への代入のフックを登録します。

ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。

この呼び出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。

trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に n...

Kernel.#trace_var(varname, hook) -> nil (19.0)

グローバル変数 varname への代入のフックを登録します。

グローバル変数 varname への代入のフックを登録します。

ここでの「グローバル変数」は、特殊変数
(d:spec/variables#builtin を参照)も含めた `$' で始まる変数のこ
とです。

この呼び出し以降、varname で指定したグローバル変数に
値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合
代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。

trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に n...

絞り込み条件を変える

Module#instance_method(name) -> UnboundMethod (19.0)

self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。

self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。

@param name メソッド名を Symbol または String で指定します。

@raise NameError self に存在しないメソッドを指定した場合に発生します。

@see Module#public_instance_method, Object#method

//emlist[例][ruby]{
class Interpreter
def do_a() print "there, "; end
def do_d() print "Hello ";...

Object.yaml_tag(tag) -> () (19.0)

クラスと tag の間を関連付けます。

クラスと tag の間を関連付けます。

これによって tag 付けされた YAML ドキュメントを Ruby のオブジェクトに
変換したりその逆をしたりすることができます。

@param tag 対象のクラスに関連付けるタグの文字列

=== Example
require 'psych'

class Foo
def initialize(x)
@x = x
end

attr_reader :x
end

# Dumps Ruby object normally
p Psych.dump(Foo.new(3))
...

OpenSSL::OCSP (19.0)

OCSP(Online Certificate Status Protocol)を取り扱うための モジュールです。OCSP は 2560 で定義されています。

OCSP(Online Certificate Status Protocol)を取り扱うための
モジュールです。OCSP は 2560 で定義されています。

このモジュールは OCSP のリクエストとレスポンスを取り扱う
機能を持っています。

OCSP レスポンダと通信する機能はありません。ユーザが例えば
OCSP over http などを実装する必要があります。

=== 例
OCSP レスポンダにリクエストを送ってその返答を表示する
require 'openssl'
require 'net/http'
# ...
subject # 問い合わせ対象の証明書(Ce...

OptionParser::Arguable#options -> OptionParser (19.0)

自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。

自身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。

ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。
ブロックの実行結果を返します。
ブロックの実行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。

//emlist[][ruby]{
require 'optparse'

o = nil
ARG...

OptionParser::Arguable#options {|opt| ... } -> object | nil (19.0)

自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。

自身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。

ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。
ブロックの実行結果を返します。
ブロックの実行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。

//emlist[][ruby]{
require 'optparse'

o = nil
ARG...

絞り込み条件を変える

Psych.dump_stream(*objects) -> String (19.0)

オブジェクト列を YAML ドキュメント列に変換します。

オブジェクト列を YAML ドキュメント列に変換します。

@param objects 変換対象のオブジェクト列

//emlist[例][ruby]{
Psych.dump_stream("foo\n ", {}) # => "--- ! \"foo\\n \"\n--- {}\n"
//}

Psych::Handler#scalar(value, anchor, tag, plain, quoted, style) -> () (19.0)

スカラー値を見付けたときに呼び出されます。

スカラー値を見付けたときに呼び出されます。

value にはスカラー値の文字列が渡されます。

anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。

tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。

plain は plain style であるかどうか、quoted は quoted style であるかどうか
が渡されます。style には node の style が整数値で渡されます。
style は次の値のいずれか...

Regexp#=~(string) -> Integer | nil (19.0)

文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。

文字列 string との正規表現マッチを行います。マッチした場合、
マッチした位置のインデックスを返します(先頭は0)。マッチしなかった
場合、あるいは string が nil の場合には nil を返
します。

//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p /foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}

組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。

文字列のかわりにSymbolをマッチさせることが...

Rubyの起動 (19.0)

Rubyの起動 * cmd_option * shebang

Rubyの起動
* cmd_option
* shebang

Rubyインタプリタの起動は以下の書式のコマンドラインにより行います。

ruby [ option ...] [ -- ] [ programfile ] [ argument ...]

ここで、option は後述のcmd_option
のいずれかを指定します。-- は、オプション列の終りを明示するため
に使用できます。programfile は、Ruby スクリプトを記述したファイ
ルです。これを省略したり`-' を指定した場合には標準入力を Ruby ス
クリプトとみなします。

programfile が...

Ruby用語集 (19.0)

Ruby用語集 A B C D E F G I J M N O R S Y

Ruby用語集
A B C D E F G I J M N O R S Y

a ka sa ta na ha ma ya ra wa

=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。

参照:d:spec/literal#percent

: 0 オリジン
: zero-based
番号が 0 から始まること。

例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。

: 1 オリジン
: one-based
...

絞り込み条件を変える

SingleForwardable (19.0)

オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。

オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。

=== 使い方

オブジェクトに対して extend して使います。

例:

require 'forwardable'
g = Goo.new
g.extend SingleForwardable
g.def_delegator("@out", :puts)
g.puts ...

また、SingleForwardable はクラスやモジュールに対して以下のようにする事もできます。

require 'forwardable'
class Implementation
def self....

Socket.getifaddrs -> [Socket::Ifaddr] (19.0)

インターフェイスのアドレスを Socket::Ifaddr の配列で返します。

インターフェイスのアドレスを Socket::Ifaddr の配列で返します。

本メソッドはマルチキャスト通信が可能なインターフェイスを見つけるために使う事ができます。

require 'socket'

pp Socket.getifaddrs.reject {|ifaddr|
!ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MULTICAST == 0)
}.map {|ifaddr| [ifaddr.name, ifaddr.ifindex, ifaddr.addr] }
#=> [["eth0", 2, #<...

String#downcase(*options) -> String (19.0)

全ての大文字を対応する小文字に置き換えた文字列を返します。 どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。

全ての大文字を対応する小文字に置き換えた文字列を返します。
どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。

@param options オプションの意味は以下の通りです。

: オプションなし
完全な Unicode ケースマッピングに対応し、ほとんどの言語に適しています。(例外は以下の :turkic,
:lithuanian オプションを参照)
Unicode 標準の表 3-14 で説明されている、コンテキスト依存のケースマッピングは、現在サポートされていません。

: :ascii
ASCII の範囲内のみ (A-Z, a...

Syslog (19.0)

UNIXのsyslogのラッパーモジュール。 syslog の詳細については syslog(3) を参照してください。

UNIXのsyslogのラッパーモジュール。
syslog の詳細については syslog(3) を参照してください。

require 'syslog'

Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
Syslog.close
# 書き込まれているか確かめる。
# 但し、実行環境によってログの場所が違う。くわしくはsyslog.confを参照。
File.foreach('/var/log/system.log'...

Tempfile#path -> String | nil (19.0)

テンポラリファイルのパス名を返します。

テンポラリファイルのパス名を返します。

Tempfile#close! を実行後だった場合にはnilを返します。

require "tempfile"
tf = Tempfile.new("hoo")
p tf.path # => "/tmp/hoo.10596.0"
tf.close!
p tf.path # => nil

絞り込み条件を変える

Zlib::GzipReader#lineno -> Integer (19.0)

IO クラスの同名メソッドIO#linenoと同じです。

IO クラスの同名メソッドIO#linenoと同じです。

但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッターには圧縮前データのチェックサムが
記録されています。GzipReader オブジェクトは、次の時に展開した
データとフッターの照合を行い、エラーがあった場合は
Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError,
Zlib::GzipFile::LengthE...

Zlib::GzipReader#lineno=(num) (19.0)

IO クラスの同名メソッドIO#lineno=と同じです。

IO クラスの同名メソッドIO#lineno=と同じです。

但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッターには圧縮前データのチェックサムが
記録されています。GzipReader オブジェクトは、次の時に展開した
データとフッターの照合を行い、エラーがあった場合は
Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError,
Zlib::GzipFile::Length...

logger (19.0)

ログを記録するためのライブラリです。

ログを記録するためのライブラリです。

=== 説明

6段階のログレベルに分けてログを記録します。

: UNKNOWN
常に記録されるべき不明なエラー
: FATAL
プログラムをクラッシュさせるような制御不可能なエラー
: ERROR
制御可能なエラー
: WARN
警告
: INFO
一般的な情報
: DEBUG
低レベルの情報

全てのメッセージは必ずログレベルを持ちます。また Logger オブジェクトも同じように
ログレベルを持ちます。メッセージのログレベルが Logger オブジェクトのログレベルよりも
低い場合メッセージは記録されません。

普段は I...

optparse/date (19.0)

OptionParser#on で使用可能なクラスに Date と DateTime が 追加されます。 オプションの引数はそれぞれのクラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。

OptionParser#on で使用可能なクラスに Date と DateTime が
追加されます。
オプションの引数はそれぞれのクラスのインスタンスに変換されてから、
OptionParser#on のブロックに渡されます。

//emlist[][ruby]{
require 'optparse/date'
opts = OptionParser.new

opts.on("-d DATE", Date){|d|
p d.to_s #=> 2000-01-01
}
opts.parse!

# ruby command -d 2000/1/1
//}

optparse/shellwords (19.0)

OptionParser#on で使用可能な引数に Shellwords 追加されます。 オプションの引数は Shellwords.#shellwords によって配列に変換されてから、 OptionParser#on のブロックに渡されます。

OptionParser#on で使用可能な引数に Shellwords
追加されます。
オプションの引数は Shellwords.#shellwords によって配列に変換されてから、
OptionParser#on のブロックに渡されます。

//emlist[][ruby]{
require 'optparse/shellwords'
opts = OptionParser.new

opts.on("-s VAL", Shellwords){|a|
p a #=> ["hoge", "foo", "bar"]
}
opts.parse!

# ruby command -s hog...

絞り込み条件を変える

optparse/time (19.0)

OptionParser#on で使用可能なクラスに Time が 追加されます。 オプションの引数は Time クラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。

OptionParser#on で使用可能なクラスに Time が
追加されます。
オプションの引数は Time クラスのインスタンスに変換されてから、
OptionParser#on のブロックに渡されます。

//emlist[][ruby]{
require 'optparse/time'
opts = OptionParser.new

opts.on("-t TIME", Time){|t|
p t #=> Sat, Jan 01 2000 00:00:00 +0900
}
opts.parse!

# ruby command -t '2000/01/01 00:00'
//}...

optparse/uri (19.0)

OptionParser#on で使用可能なクラスに URI が 追加されます。 オプションの引数は URI クラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。

OptionParser#on で使用可能なクラスに URI が
追加されます。
オプションの引数は URI クラスのインスタンスに変換されてから、
OptionParser#on のブロックに渡されます。

//emlist[][ruby]{
require 'optparse/uri'
opts = OptionParser.new

opts.on("-u URI", URI){|u|
p u #=> #<URI::HTTP:0x201267d4 URL:http://www.example.com>
}
opts.parse!

# ruby command -u http://w...

ruby 1.8.2 feature (19.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]: 変更されたクラス/...

syslog/logger (19.0)

Logger のようなインターフェイスを用いて syslog にログを記録するた めのサブライブラリです。Syslog::Logger を使って複数のマシンでログ を集約する事もできます。

Logger のようなインターフェイスを用いて syslog にログを記録するた
めのサブライブラリです。Syslog::Logger を使って複数のマシンでログ
を集約する事もできます。

デフォルトでは、Syslog::Logger はプログラム名として 'ruby' を使用
します。これを変更したい場合は Syslog::Logger.new の第一引数にプ
ログラム名を渡してください。

[注意] Syslog::Logger のプログラム名の変更は最初の初期化の時だけ
しか行う事ができません。これは Syslog::Logger が syslog を利用す
る上での制限です。(これは...

Array#fill(range) {|index| ... } -> self (4.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

絞り込み条件を変える

Array#fill(start, length = nil) {|index| ... } -> self (4.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

Array#fill(val, range) -> self (4.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

Array#fill(val, start, length = nil) -> self (4.0)

配列の指定された範囲すべてに val をセットします。

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}

val の代わり...

DBM#delete_if { |key, value| ... } -> self (4.0)

ブロックを評価した値が真であれば該当する要素を削除します。

ブロックを評価した値が真であれば該当する要素を削除します。

このメソッドは self を破壊的に変更します。

GDBM#delete_if { |key, value| ... } -> self (4.0)

ブロックを評価した値が真であれば該当する項目を削除します。

ブロックを評価した値が真であれば該当する項目を削除します。

このメソッドは self を破壊的に変更します。

絞り込み条件を変える

SDBM#delete_if { |key, value| ... } -> self (4.0)

ブロックを評価した値が真であれば該当する項目を削除します。

ブロックを評価した値が真であれば該当する項目を削除します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1 #=> #<SDBM:0xb7cc96f8>
p db1.reject!{ |key, value| key == 'a' } #=> #<SDBM:0xb7cc96f8>

URI::Generic#normalize -> URI::Generic (4.0)

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと 構成要素がなければ '/' をセットします。

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと
構成要素がなければ '/' をセットします。

例:
require 'uri'
u = URI.parse('http://Example.Com')
p u.to_s #=> "http://Example.Com"
p u.normalize.to_s #=> "http://example.com/"
<< < 1 2 3 >>