るりまサーチ (Ruby 2.7.0)

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

別のキーワード

  1. enumerator each
  2. each enumerator
  3. enumerator with_index
  4. enumerator with_object
  5. enumerator new

ライブラリ

クラス

モジュール

検索結果

Enumerator::Lazy#map {|item| ... } -> Enumerator::Lazy (54817.0)

Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。

Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。

@raise ArgumentError ブロックを指定しなかった場合に発生します。

//emlist[例][ruby]{
1.step.lazy.map{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:map>

1.step.lazy.collect{ |n| n.succ }.take(10).force
# => [2, 3, 4, 5, 6, 7, 8,...

Matrix#map(which = :all) -> Enumerator (45688.0)

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

ブロックがない場合、 Enumerator を返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。

//emlist[例][ruby]{
require 'matrix'

m = Matrix[[1, ...

Array#map -> Enumerator (45670.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}

@see Hash#to_h, Enumerable#collect, Enumerable#map

Enumerable#map -> Enumerator (45670.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}

@see Hash#to_h, Array#collect, Array#map

Vector#map -> Enumerator (45652.0)

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

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

//emlist[例][ruby]{
require 'matrix'
a = [1, 2, 3.5, -10]
v1 = Vector.elements(a)
p v1 # => Vector[1, 2, 3.5, -10]
v2 = v1.map{|x|
x * -1
}
p v2 # => Vector[-1, -2, -3.5, 10]
//}

絞り込み条件を変える

Matrix#map(which = :all) {|x| ... } -> Matrix (45388.0)

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

ブロックがない場合、 Enumerator を返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。

//emlist[例][ruby]{
require 'matrix'

m = Matrix[[1, ...

Array#map {|item| ... } -> [object] (45370.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}

@see Hash#to_h, Enumerable#collect, Enumerable#map

Enumerable#map {|item| ... } -> [object] (45370.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}

@see Hash#to_h, Array#collect, Array#map

Vector#map {|x| ... } -> Vector (45352.0)

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

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

//emlist[例][ruby]{
require 'matrix'
a = [1, 2, 3.5, -10]
v1 = Vector.elements(a)
p v1 # => Vector[1, 2, 3.5, -10]
v2 = v1.map{|x|
x * -1
}
p v2 # => Vector[-1, -2, -3.5, 10]
//}

Enumerator::Lazy#filter_map {|item| ... } -> Enumerator::Lazy (27814.0)

Enumerable#filter_map と同じですが、配列ではなく Enumerator::Lazy を返します。

Enumerable#filter_map と同じですが、配列ではなく Enumerator::Lazy を返します。

@raise ArgumentError ブロックを指定しなかった場合に発生します。

//emlist[例][ruby]{
1.step.lazy.filter_map { |n| n * 2 if n.even? }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: (1.step)>:filter_map>

1.step.lazy.filter_map { |n| n * 2 if n.even? }.take(10).fo...

絞り込み条件を変える

Enumerator::Lazy#flat_map {|item| ... } -> Enumerator::Lazy (18733.0)

ブロックの実行結果をひとつに繋げたものに対してイテレートするような Enumerator::Lazy のインスタンスを返します。

ブロックの実行結果をひとつに繋げたものに対してイテレートするような
Enumerator::Lazy のインスタンスを返します。

//emlist[][ruby]{
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force
#=> ["f", "o", "o", "b", "a", "r"]
//}

ブロックの返した値 x は、以下の場合にのみ分解され、連結されます。

* x が配列であるか、to_ary メソッドを持つとき
* x が each および force メソッドを持つ (例:Enumerator::Lazy) ...

Enumerable#filter_map -> Enumerator (18667.0)

各要素に対してブロックを評価した値のうち、真であった値の 配列を返します。

各要素に対してブロックを評価した値のうち、真であった値の
配列を返します。

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

//emlist[例][ruby]{
(1..10).filter_map { |i| i * 2 if i.even? } #=> [4, 8, 12, 16, 20]
//}

@see Enumerable#filter, Enumerable#map

Enumerable#filter_map {|item| ... } -> [object] (18367.0)

各要素に対してブロックを評価した値のうち、真であった値の 配列を返します。

各要素に対してブロックを評価した値のうち、真であった値の
配列を返します。

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

//emlist[例][ruby]{
(1..10).filter_map { |i| i * 2 if i.even? } #=> [4, 8, 12, 16, 20]
//}

@see Enumerable#filter, Enumerable#map

Vector#map2(v) {|x, y| ... } -> Vector (18361.0)

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。

ベクトルの各要素と、それに対応するインデックスを持つ引数 (ベクトル or 配列) の要素との組に対して (2引数の) ブロックを評価した結果を、要素として持つベクトルを返します。

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

@param v ブロック内で評価される(ベクトル or 配列)

@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていた...

Array#map! -> Enumerator (9706.0)

各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。

各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。

ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。

//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]

ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}

@see Array#collect, Enumerator

絞り込み条件を変える

Matrix#map!(which = :all) -> Enumerator (9688.0)

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。


//emlist[例][ruby]{
require 'matrix'
...

Enumerable#flat_map -> Enumerator (9670.0)

各要素をブロックに渡し、その返り値を連結した配列を返します。

各要素をブロックに渡し、その返り値を連結した配列を返します。

ブロックの返り値は基本的に配列を返すべきです。

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

//emlist[例][ruby]{
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
//}

Vector#map! -> Enumerator (9670.0)

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

//emlist[例][ruby]{
require 'matrix'

v = Vector[1, 2, 3]
p v.map!{ |el| el * 2 } #=> Vector[2, 4, 6]
p v #=> Vector[2, 4, 6]
//}

Enumerator::Lazy#collect {|item| ... } -> Enumerator::Lazy (9517.0)

Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。

Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。

@raise ArgumentError ブロックを指定しなかった場合に発生します。

//emlist[例][ruby]{
1.step.lazy.map{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:map>

1.step.lazy.collect{ |n| n.succ }.take(10).force
# => [2, 3, 4, 5, 6, 7, 8,...

Enumerator::Lazy#enum_for(method = :each, *args) -> Enumerator::Lazy (9490.0)

Object#to_enum と同じですが、Enumerator::Lazy を返します。

Object#to_enum と同じですが、Enumerator::Lazy を返します。

to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。

//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ...

絞り込み条件を変える

Enumerator::Lazy#enum_for(method = :each, *args) {|*args| block} -> Enumerator::Lazy (9490.0)

Object#to_enum と同じですが、Enumerator::Lazy を返します。

Object#to_enum と同じですが、Enumerator::Lazy を返します。

to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。

//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ...

Enumerator::Lazy#to_enum(method = :each, *args) -> Enumerator::Lazy (9490.0)

Object#to_enum と同じですが、Enumerator::Lazy を返します。

Object#to_enum と同じですが、Enumerator::Lazy を返します。

to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。

//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ...

Enumerator::Lazy#to_enum(method = :each, *args) {|*args| block} -> Enumerator::Lazy (9490.0)

Object#to_enum と同じですが、Enumerator::Lazy を返します。

Object#to_enum と同じですが、Enumerator::Lazy を返します。

to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。

//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ...

Enumerator::Lazy#grep(pattern) {|item| ... } -> Enumerator::Lazy (9481.0)

Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。

Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。

//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep(/\A(\d)\1+\z/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/)....

Enumerator::Lazy#grep_v(pattern) {|item| ... } -> Enumerator::Lazy (9481.0)

Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。

Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。

//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep_v(/(\d).*\1/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/).t...

絞り込み条件を変える

Enumerator::Lazy#collect_concat {|item| ... } -> Enumerator::Lazy (9433.0)

ブロックの実行結果をひとつに繋げたものに対してイテレートするような Enumerator::Lazy のインスタンスを返します。

ブロックの実行結果をひとつに繋げたものに対してイテレートするような
Enumerator::Lazy のインスタンスを返します。

//emlist[][ruby]{
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force
#=> ["f", "o", "o", "b", "a", "r"]
//}

ブロックの返した値 x は、以下の場合にのみ分解され、連結されます。

* x が配列であるか、to_ary メソッドを持つとき
* x が each および force メソッドを持つ (例:Enumerator::Lazy) ...

Array#map! {|item| ..} -> self (9406.0)

各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。

各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。

ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。

//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]

ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}

@see Array#collect, Enumerator

Matrix#map!(which = :all) {|element| ... } -> self (9388.0)

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。


//emlist[例][ruby]{
require 'matrix'
...

Enumerable#flat_map {| obj | block } -> Array (9370.0)

各要素をブロックに渡し、その返り値を連結した配列を返します。

各要素をブロックに渡し、その返り値を連結した配列を返します。

ブロックの返り値は基本的に配列を返すべきです。

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

//emlist[例][ruby]{
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
//}

Vector#map! {|element| ... } -> self (9370.0)

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

//emlist[例][ruby]{
require 'matrix'

v = Vector[1, 2, 3]
p v.map!{ |el| el * 2 } #=> Vector[2, 4, 6]
p v #=> Vector[2, 4, 6]
//}

絞り込み条件を変える

TSort#each_strongly_connected_component_from(node, id_map={}, stack=[]) -> Enumerator (613.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...

Enumerable#lazy -> Enumerator::Lazy (499.0)

自身を lazy な Enumerator に変換したものを返します。

自身を lazy な Enumerator に変換したものを返します。

この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではな
くEnumeratorを返す) ように再定義されています。

* map/collect
* flat_map/collect_concat
* select/find_all
* reject
* grep
* take, take_while
* drop, drop_while
* zip (※一貫性のため、ブロックを渡さないケースのみlazy)
* cycle (※一貫性のため、ブロックを渡さないケースのみl...

Object#enum_for(method = :each, *args) -> Enumerator (472.0)

Enumerator.new(self, method, *args) を返します。

Enumerator.new(self, method, *args) を返します。

ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。


@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。

//emlist[][ruby]{
str = "xyz"

enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]

#...

Object#enum_for(method = :each, *args) {|*args| ... } -> Enumerator (472.0)

Enumerator.new(self, method, *args) を返します。

Enumerator.new(self, method, *args) を返します。

ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。


@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。

//emlist[][ruby]{
str = "xyz"

enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]

#...

Object#to_enum(method = :each, *args) -> Enumerator (472.0)

Enumerator.new(self, method, *args) を返します。

Enumerator.new(self, method, *args) を返します。

ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。


@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。

//emlist[][ruby]{
str = "xyz"

enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]

#...

絞り込み条件を変える

Object#to_enum(method = :each, *args) {|*args| ... } -> Enumerator (472.0)

Enumerator.new(self, method, *args) を返します。

Enumerator.new(self, method, *args) を返します。

ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。


@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。

//emlist[][ruby]{
str = "xyz"

enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]

#...

Enumerable#slice_after {|elt| bool } -> Enumerator (412.0)

パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素 としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し ます。

パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素
としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し
ます。

パターンを渡した場合は各要素に対し === が呼び出され、 それが真になった
ところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対
しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。

パターンもブロックも最初から最後の要素まで呼び出されます。

各チャンクは配列として表現されます。そのため、以下のような呼び出しを行
う事もできます。

//emlist[例][ruby]{
enum.sl...

Enumerable#slice_after(pattern) -> Enumerator (412.0)

パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素 としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し ます。

パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素
としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し
ます。

パターンを渡した場合は各要素に対し === が呼び出され、 それが真になった
ところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対
しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。

パターンもブロックも最初から最後の要素まで呼び出されます。

各チャンクは配列として表現されます。そのため、以下のような呼び出しを行
う事もできます。

//emlist[例][ruby]{
enum.sl...

Enumerable#chunk_while {|elt_before, elt_after| ... } -> Enumerator (409.0)

要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。

要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。

隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が偽になる所でチャンクを区切ります。

ブロックは self の長さ - 1 回呼び出されます。

@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.chunk_while { |elt_before, elt_af...

Enumerable#slice_when {|elt_before, elt_after| bool } -> Enumerator (409.0)

要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。

要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。

隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が真になる所でチャンクを区切ります。

ブロックは self の長さ - 1 回呼び出されます。

@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.slice_when { |elt_before, elt_aft...

絞り込み条件を変える

Array#collect! -> Enumerator (406.0)

各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。

各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。

ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。

//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]

ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}

@see Array#collect, Enumerator

Enumerable#slice_before {|elt| bool } -> Enumerator (394.0)

パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。

パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。

パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。

より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。

各チャンクは配列として表現されます。

Enumerable#to_a や Enumerable#map ...

Enumerable#slice_before(pattern) -> Enumerator (394.0)

パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。

パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。

パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。

より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。

各チャンクは配列として表現されます。

Enumerable#to_a や Enumerable#map ...

Matrix#collect!(which = :all) -> Enumerator (388.0)

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。


//emlist[例][ruby]{
require 'matrix'
...

Matrix#collect(which = :all) -> Enumerator (388.0)

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

ブロックがない場合、 Enumerator を返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。

//emlist[例][ruby]{
require 'matrix'

m = Matrix[[1, ...

絞り込み条件を変える

Array#collect -> Enumerator (370.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}

@see Hash#to_h, Enumerable#collect, Enumerable#map

Enumerable#collect -> Enumerator (370.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}

@see Hash#to_h, Array#collect, Array#map

Enumerable#collect_concat -> Enumerator (370.0)

各要素をブロックに渡し、その返り値を連結した配列を返します。

各要素をブロックに渡し、その返り値を連結した配列を返します。

ブロックの返り値は基本的に配列を返すべきです。

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

//emlist[例][ruby]{
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
//}

Vector#collect! -> Enumerator (370.0)

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

//emlist[例][ruby]{
require 'matrix'

v = Vector[1, 2, 3]
p v.map!{ |el| el * 2 } #=> Vector[2, 4, 6]
p v #=> Vector[2, 4, 6]
//}

Enumerable#sort_by -> Enumerator (361.0)

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。

ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。

つまり、以下とほぼ同じ動作をします。

//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}

Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙...

絞り込み条件を変える

Vector#collect -> Enumerator (352.0)

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

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

//emlist[例][ruby]{
require 'matrix'
a = [1, 2, 3.5, -10]
v1 = Vector.elements(a)
p v1 # => Vector[1, 2, 3.5, -10]
v2 = v1.map{|x|
x * -1
}
p v2 # => Vector[-1, -2, -3.5, 10]
//}

Matrix#each(which = :all) -> Enumerator (343.0)

行列の各要素を引数としてブロックを呼び出します。

行列の各要素を引数としてブロックを呼び出します。

0行目、1行目、…という順番で処理します。
which に以下の Symbol を指定することで
引数として使われる要素を限定することができます。
* :all - すべての要素(デフォルト)
* :diagonal - 対角要素
* :off_diagonal 対角要素以外
* :lower 対角成分とそれより下側の部分
* :upper対角成分とそれより上側の部分
* :strict_lower 対角成分の下側
* :strict_upper 対角成分の上側

ブロックを省略した場合、 Enumerator ...

Vector#collect2(v) -> Enumerator (343.0)

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。

ベクトルの各要素と、それに対応するインデックスを持つ引数 v (ベクトル or 配列)の要素との組に対して (2引数の) ブロックを評価し、その結果を要素として持つ配列を返します。

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

@param v ブロック内で評価される(ベクトル or 配列)

@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていたとき...

TSort#each_strongly_connected_component_from(node, id_map={}, stack=[]) {|nodes| ...} -> () (313.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...

Array#collect! {|item| ..} -> self (106.0)

各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。

各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。

ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。

//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]

ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}

@see Array#collect, Enumerator

絞り込み条件を変える

Matrix#collect!(which = :all) {|element| ... } -> self (88.0)

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。


//emlist[例][ruby]{
require 'matrix'
...

Matrix#collect(which = :all) {|x| ... } -> Matrix (88.0)

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

ブロックがない場合、 Enumerator を返します。

@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。

//emlist[例][ruby]{
require 'matrix'

m = Matrix[[1, ...

Array#collect {|item| ... } -> [object] (70.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}

@see Hash#to_h, Enumerable#collect, Enumerable#map

Enumerable#collect {|item| ... } -> [object] (70.0)

各要素に対してブロックを評価した結果を全て含む配列を返します。

各要素に対してブロックを評価した結果を全て含む配列を返します。

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

//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}

@see Hash#to_h, Array#collect, Array#map

Enumerable#collect_concat {| obj | block } -> Array (70.0)

各要素をブロックに渡し、その返り値を連結した配列を返します。

各要素をブロックに渡し、その返り値を連結した配列を返します。

ブロックの返り値は基本的に配列を返すべきです。

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

//emlist[例][ruby]{
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
//}

絞り込み条件を変える

Vector#collect! {|element| ... } -> self (70.0)

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。

ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。

//emlist[例][ruby]{
require 'matrix'

v = Vector[1, 2, 3]
p v.map!{ |el| el * 2 } #=> Vector[2, 4, 6]
p v #=> Vector[2, 4, 6]
//}

Enumerable#sort_by {|item| ... } -> [object] (61.0)

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。

ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。

つまり、以下とほぼ同じ動作をします。

//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}

Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙...

Vector#collect {|x| ... } -> Vector (52.0)

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

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

//emlist[例][ruby]{
require 'matrix'
a = [1, 2, 3.5, -10]
v1 = Vector.elements(a)
p v1 # => Vector[1, 2, 3.5, -10]
v2 = v1.map{|x|
x * -1
}
p v2 # => Vector[-1, -2, -3.5, 10]
//}

Matrix#each(which = :all) {|e| ... } -> self (43.0)

行列の各要素を引数としてブロックを呼び出します。

行列の各要素を引数としてブロックを呼び出します。

0行目、1行目、…という順番で処理します。
which に以下の Symbol を指定することで
引数として使われる要素を限定することができます。
* :all - すべての要素(デフォルト)
* :diagonal - 対角要素
* :off_diagonal 対角要素以外
* :lower 対角成分とそれより下側の部分
* :upper対角成分とそれより上側の部分
* :strict_lower 対角成分の下側
* :strict_upper 対角成分の上側

ブロックを省略した場合、 Enumerator ...

Vector#collect2(v) {|x, y| ... } -> Array (43.0)

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。

ベクトルの各要素と、それに対応するインデックスを持つ引数 v (ベクトル or 配列)の要素との組に対して (2引数の) ブロックを評価し、その結果を要素として持つ配列を返します。

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

@param v ブロック内で評価される(ベクトル or 配列)

@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていたとき...

絞り込み条件を変える