ライブラリ
クラス
-
ARGF
. class (26) - Array (59)
- Date (6)
- Dir (4)
- Enumerator (16)
-
Enumerator
:: ArithmeticSequence (14) -
Enumerator
:: Chain (5) -
Enumerator
:: Lazy (34) -
Enumerator
:: Yielder (2) -
Gem
:: SourceIndex (2) - Hash (32)
- IO (30)
- Integer (6)
- Matrix (18)
- Numeric (9)
- Object (8)
- OpenStruct (2)
- Pathname (10)
- Prime (2)
-
Prime
:: PseudoPrimeGenerator (7) -
Psych
:: Nodes :: Node (2) -
REXML
:: Parent (8) - Range (9)
- StopIteration (1)
- String (18)
- StringIO (18)
- Struct (8)
- Vector (15)
-
Zlib
:: GzipReader (6)
モジュール
- Enumerable (66)
- TSort (6)
キーワード
- % (2)
- + (1)
- << (1)
- == (1)
- ascend (2)
- begin (1)
- bsearch (4)
-
bsearch
_ index (2) - bytes (6)
- chain (1)
- chars (6)
- chunk (3)
-
chunk
_ while (2) - codepoints (6)
- collect (9)
- collect! (6)
- collect2 (2)
-
collect
_ concat (3) - combination (2)
- cycle (4)
-
delete
_ if (6) - descend (2)
- detect (2)
- downto (4)
- drop (1)
-
drop
_ while (5) - each (44)
- each2 (2)
-
each
_ byte (10) -
each
_ char (8) -
each
_ child (6) -
each
_ codepoint (8) -
each
_ cons (2) -
each
_ entry (2) -
each
_ grapheme _ cluster (2) -
each
_ index (4) -
each
_ key (2) -
each
_ line (18) -
each
_ pair (6) -
each
_ slice (2) -
each
_ strongly _ connected _ component (2) -
each
_ strongly _ connected _ component _ from (2) -
each
_ value (2) -
each
_ with _ index (6) -
each
_ with _ object (2) - end (1)
-
enum
_ for (4) -
exclude
_ end? (1) - feed (1)
- filter (9)
- filter! (4)
- find (4)
-
find
_ all (3) -
find
_ index (9) - first (2)
-
flat
_ map (3) - force (1)
- grep (1)
-
grep
_ v (1) -
group
_ by (2) - gsub (4)
- gsub! (4)
- hash (1)
- index (6)
- inspect (2)
-
keep
_ if (4) - last (2)
- lazy (2)
- lines (14)
- map (9)
- map! (6)
- map2 (1)
-
max
_ by (4) -
min
_ by (4) -
minmax
_ by (2) - next (1)
-
next
_ values (1) - partition (2)
- peek (1)
-
peek
_ values (1) - permutation (2)
- reject (7)
- reject! (4)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - result (1)
-
reverse
_ each (4) - rewind (3)
- rindex (3)
- select (9)
- select! (4)
- size (3)
-
slice
_ after (4) -
slice
_ before (5) -
slice
_ when (2) -
sort
_ by (2) -
sort
_ by! (2) - step (15)
- take (1)
-
take
_ while (6) - then (2)
- times (2)
-
to
_ enum (4) -
transform
_ keys (2) -
transform
_ keys! (2) -
transform
_ values (2) -
transform
_ values! (2) -
tsort
_ each (2) - uniq (2)
- upto (4)
-
with
_ index (4) -
with
_ object (4) - yield (1)
-
yield
_ self (2) - zip (2)
検索結果
先頭5件
-
Vector
# each2(v) {|x , y| . . . } -> self (25.0) -
ベクトルの各要素と、それに対応するインデックスを持つ引数 v の要素との組に対して (2引数の) ブロックを繰返し評価します。
ベクトルの各要素と、それに対応するインデックスを持つ引数 v の要素との組に対して (2引数の) ブロックを繰返し評価します。
v は配列互換(size メソッドと [] メソッドを持つ)オブジェクトです。
Vector も使えます。
ブロックを省略した場合は Enumerator を返します。
@param v 各要素と組を取るためのオブジェクト
@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていたときに発生します。
@see Array#zip -
Prime
:: PseudoPrimeGenerator # rewind -> () (22.0) -
列挙状態を巻き戻します。
列挙状態を巻き戻します。
サブクラスで実装してください。
@raise NotImplementedError 必ず発生します。
@see Enumerator#rewind -
Vector
# map2(v) {|x , y| . . . } -> Vector (22.0) -
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。
ベクトルの各要素と、それに対応するインデックスを持つ引数 (ベクトル or 配列) の要素との組に対して (2引数の) ブロックを評価した結果を、要素として持つベクトルを返します。
ブロックを省略した場合は Enumerator を返します。
@param v ブロック内で評価される(ベクトル or 配列)
@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていた... -
ARGF
. class # lines(limit) { |line| . . . } -> self (13.0) -
このメソッドは obsolete です。 代わりに ARGF.class#each_line を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに ARGF.class#each_line を使用してください。
使用すると警告メッセージが表示されます。
@see $/, ARGF.class#each_line -
ARGF
. class # lines(rs = $ / ) { |line| . . . } -> self (13.0) -
このメソッドは obsolete です。 代わりに ARGF.class#each_line を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに ARGF.class#each_line を使用してください。
使用すると警告メッセージが表示されます。
@see $/, ARGF.class#each_line -
ARGF
. class # lines(rs , limit) { |line| . . . } -> self (13.0) -
このメソッドは obsolete です。 代わりに ARGF.class#each_line を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに ARGF.class#each_line を使用してください。
使用すると警告メッセージが表示されます。
@see $/, ARGF.class#each_line -
StringIO
# each(rs = $ / ) {|line| . . . } -> self (13.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# each _ line(rs = $ / ) {|line| . . . } -> self (13.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# lines(rs = $ / ) {|line| . . . } -> self (13.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# bytes {|ch| . . . } -> self (10.0) -
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }
#=> 104
# 111
# 103
# 101
//}
@see IO#each_byte -
StringIO
# chars {|c| . . . } -> self (10.0) -
自身に含まれる文字を一文字ずつブロックに渡して評価します。
自身に含まれる文字を一文字ずつブロックに渡して評価します。
自身は読み込み用にオープンされていなければなりません。
@raise IOError 自身が読み込み用にオープンされていない場合に発生します。
@see IO#each_char -
StringIO
# codepoints {|codepoint| . . . } -> self (10.0) -
自身の各コードポイントに対して繰り返します。
自身の各コードポイントに対して繰り返します。
@see IO#each_codepoint -
StringIO
# each _ byte {|ch| . . . } -> self (10.0) -
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }
#=> 104
# 111
# 103
# 101
//}
@see IO#each_byte -
StringIO
# each _ char {|c| . . . } -> self (10.0) -
自身に含まれる文字を一文字ずつブロックに渡して評価します。
自身に含まれる文字を一文字ずつブロックに渡して評価します。
自身は読み込み用にオープンされていなければなりません。
@raise IOError 自身が読み込み用にオープンされていない場合に発生します。
@see IO#each_char -
StringIO
# each _ codepoint {|codepoint| . . . } -> self (10.0) -
自身の各コードポイントに対して繰り返します。
自身の各コードポイントに対して繰り返します。
@see IO#each_codepoint -
Zlib
:: GzipReader # each(rs = $ / ) {|line| . . . } -> self (10.0) -
IO クラスの同名メソッドIO#each, IO#each_lineと同じです。
IO クラスの同名メソッドIO#each, IO#each_lineと同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッターには圧縮前データのチェックサムが
記録されています。GzipReader オブジェクトは、次の時に展開した
データとフッターの照合を行い、エラーがあった場合は
Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError,
Zlib::Gzip... -
Zlib
:: GzipReader # each _ line(rs = $ / ) {|line| . . . } -> self (10.0) -
IO クラスの同名メソッドIO#each, IO#each_lineと同じです。
IO クラスの同名メソッドIO#each, IO#each_lineと同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッターには圧縮前データのチェックサムが
記録されています。GzipReader オブジェクトは、次の時に展開した
データとフッターの照合を行い、エラーがあった場合は
Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError,
Zlib::Gzip... -
ARGF
. class # bytes { |byte| . . . } -> self (7.0) -
このメソッドは obsolete です。 代わりに ARGF.class#each_byte を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに ARGF.class#each_byte を使用してください。
使用すると警告メッセージが表示されます。 -
ARGF
. class # chars { |c| . . . } -> self (7.0) -
このメソッドは obsolete です。 代わりに ARGF.class#each_char を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに ARGF.class#each_char を使用してください。
使用すると警告メッセージが表示されます。 -
ARGF
. class # codepoints { |c| . . . } -> self (7.0) -
このメソッドは obsolete です。 代わりに ARGF.class#each_codepoint を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに ARGF.class#each_codepoint を使用してください。
使用すると警告メッセージが表示されます。 -
Array
# bsearch _ index { |x| . . . } -> Integer | nil (7.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を
二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil
を返します。self はあらかじめソートしておく必要があります。
本メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照してください。
//emlist[例: find-minimum モード][ruby]{
ary = [0,... -
Date
# downto(min) {|date| . . . } -> self (7.0) -
このメソッドは、step(min, -1){|date| ...} と等価です。
このメソッドは、step(min, -1){|date| ...} と等価です。
@param min 日付オブジェクト
@see Date#step, Date#upto -
Date
# step(limit , step = 1) {|date| . . . } -> self (7.0) -
ブロックの評価を繰り返します。ブロックは日付オブジェクトをとります。 limit は日付オブジェクトでなければなりません、 また step は非零でなければなりません。
ブロックの評価を繰り返します。ブロックは日付オブジェクトをとります。
limit は日付オブジェクトでなければなりません、
また step は非零でなければなりません。
@param limit 日付オブジェクト
@param step 歩幅
@see Date#downto, Date#upto -
Date
# upto(max) {|date| . . . } -> self (7.0) -
このメソッドは、step(max, 1){|date| ...} と等価です。
このメソッドは、step(max, 1){|date| ...} と等価です。
@param max 日付オブジェクト
@see Date#step, Date#downto -
Gem
:: SourceIndex # each {|full _ name , gem| . . . } -> Hash (7.0) -
自身に登録されているそれぞれの Gem についてブロックを評価します。
自身に登録されているそれぞれの Gem についてブロックを評価します。 -
Hash
# reject {|key , value| . . . } -> Hash (7.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
# transform _ keys {|key| . . . } -> Hash (7.0) -
すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。 値は変化しません。
すべてのキーに対してブロックを呼び出した結果で置き換えたハッシュを返します。
値は変化しません。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_keys {|k| k.to_s } # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys(&:to_s) # => {"a"=>1, "b"=>2, "c"=>3}
h.transform_keys.with_index {|k, i| "#{k}.#{i}" }
... -
Integer
# downto(min) {|n| . . . } -> self (7.0) -
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。
self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。
self < min であれば何もしません。
@param min 数値
@return self を返します。
//emlist[][ruby]{
5.downto(1) {|i| print i, " " } # => 5 4 3 2 1
//}
@see Integer#upto, Numeric#step, Integer#times -
Integer
# times {|n| . . . } -> self (7.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
# upto(max) {|n| . . . } -> Integer (7.0) -
self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。
self から max まで 1 ずつ増やしながら繰り返します。
self > max であれば何もしません。
@param max 数値
@return self を返します。
//emlist[][ruby]{
5.upto(10) {|i| print i, " " } # => 5 6 7 8 9 10
//}
@see Integer#downto, Numeric#step, Integer#times -
Pathname
# each _ child(with _ directory = true) {|pathname| . . . } -> [Pathname] (7.0) -
self.children(with_directory).each と同じです。
self.children(with_directory).each と同じです。
@param with_directory 偽を指定するとファイル名のみ返します。デフォルトは真です。
//emlist[例][ruby]{
require "pathname"
Pathname("/usr/local").each_child {|f| p f }
# => #<Pathname:/usr/local/bin>
# => #<Pathname:/usr/local/etc>
# => #<Pathname:/usr/local/include>
# => #<Pathname:/us... -
Range
# each {|item| . . . } -> self (7.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Floa... -
String
# each _ byte {|byte| . . . } -> self (7.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
//emlist[例][ruby]{
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
//}
@see String#bytes -
String
# each _ char {|cstr| block } -> self (7.0) -
文字列の各文字に対して繰り返します。
文字列の各文字に対して繰り返します。
たとえば、
//emlist[][ruby]{
"hello世界".each_char {|c| print c, ' ' }
//}
は次のように出力されます。
h e l l o 世 界
@see String#chars -
String
# each _ codepoint {|codepoint| block } -> self (7.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ grapheme _ cluster {|grapheme _ cluster| block } -> self (7.0) -
文字列の書記素クラスタに対して繰り返します。
文字列の書記素クラスタに対して繰り返します。
String#each_char と違って、
Unicode Standard Annex #29 (https://unicode.org/reports/tr29/)
で定義された書記素クラスタに対して繰り返します。
//emlist[例][ruby]{
"a\u0300".each_char.to_a.size # => 2
"a\u0300".each_grapheme_cluster.to_a.size # => 1
//}
@see String#grapheme_clusters -
String
# each _ line(rs = $ / , chomp: false) {|line| . . . } -> self (7.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
@param chomp true を指定すると各行の末尾から rs を取り除きます。
//emlist[例][ruby]{
"aa\nbb\ncc\n".each_... -
String
# gsub!(pattern) {|matched| . . . . } -> self | nil (7.0) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、
その評価結果に置き換えます。
また、ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.u... -
String
# gsub!(pattern , hash) -> self | nil (7.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
str = "abcabc"
str.gsub!(/[bc]/){hash[$&]}
p str #=> "aBCaBC"
str = "abcabc"
str.gsub!(/[bc]/, hash)
p str #=> "aBCaBC"
//... -
String
# gsub!(pattern , replace) -> self | nil (7.0) -
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
gsub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く... -
String
# gsub(pattern) {|matched| . . . . } -> String (7.0) -
文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えた文字列を生成して返します。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。
文字列中で pattern にマッチした部分を順番にブロックに渡し、
その実行結果で置き換えた文字列を生成して返します。
ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 新しい文字列
//emlist[例][ruby]{
p 'abcabc'.gsub(/[bc]/) {|s| s.upcase } #=> "aBCaBC"
... -
String
# gsub(pattern , hash) -> String (7.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値で置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
//} -
String
# gsub(pattern , replace) -> String (7.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した... -
Struct
# each {|value| . . . } -> self (7.0) -
構造体の各メンバに対して繰り返します。
構造体の各メンバに対して繰り返します。
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.each {|x| puts(x) }
# => Joe Smith
# 123 Map... -
Struct
# each _ pair {|member , value| . . . } -> self (7.0) -
構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。
構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
Foo.new('FOO', 'BAR').each_pair {|m, v| p [m,v]}
# => [:foo, "FOO"]
# [:bar, "BAR"]
//}
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。 -
TSort
# each _ strongly _ connected _ component {|nodes| . . . } -> nil (7.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=[]) {|nodes| . . . } -> () (7.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 {|node| . . . } -> nil (7.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... -
Zlib
:: GzipReader # each _ byte {|byte| . . . } -> nil (7.0) -
IO クラスの同名メソッドIO#each_byteと同じです。
IO クラスの同名メソッドIO#each_byteと同じです。
但し、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して下さい。
gzip ファイルのフッターには圧縮前データのチェックサムが
記録されています。GzipReader オブジェクトは、次の時に展開した
データとフッターの照合を行い、エラーがあった場合は
Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError,
Zlib::GzipFile::Leng...