種類
- インスタンスメソッド (653)
- 特異メソッド (45)
- クラス (22)
- 文書 (22)
クラス
- Array (88)
- Enumerator (14)
-
Enumerator
:: Lazy (124) - Matrix (90)
- Object (44)
- Vector (101)
モジュール
- Enumerable (197)
- TSort (40)
キーワード
- Lazy (11)
-
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) - Ruby用語集 (11)
-
chunk
_ while (11) - collect (99)
- collect! (46)
- collect2 (22)
-
collect
_ concat (33) - each (22)
-
each
_ strongly _ connected _ component _ from (40) -
enum
_ for (44) -
filter
_ map (15) -
flat
_ map (33) - grep (11)
-
grep
_ v (9) - lazy (11)
- map! (46)
- map2 (11)
- new (25)
-
slice
_ after (22) -
slice
_ before (22) -
slice
_ when (11) -
sort
_ by (22) -
to
_ enum (44)
検索結果
先頭5件
-
Enumerable
# map {|item| . . . } -> [object] (15122.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
...全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}
@see Array#collect, Array#map......配列を返します。
ブロックを省略した場合は 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... -
Matrix
# map {|x| . . . } -> Matrix (15116.0) -
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
...適用を繰り返した結果を、要素として持つ行列を生成します。
ブロックがない場合、 Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map { |x| x + 100 } # => Matrix[[101, 102], [103, 104]]
//}
@see Matrix#each... -
Vector
# map {|x| . . . } -> Vector (15116.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 (9270.0) -
Enumerable#filter_map と同じですが、配列ではなく Enumerator::Lazy を返します。
...erable#filter_map と同じですが、配列ではなく Enumerator::Lazy を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
//emlist[例][ruby]{
1.step.lazy.filter_map { |n| n * 2 if n.even? }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: (1.st......ep)>:filter_map>
1.step.lazy.filter_map { |n| n * 2 if n.even? }.take(10).force
# => [4, 8, 12, 16, 20, 24, 28, 32, 36, 40]
//}
@see Enumerable#filter_map... -
Enumerator
:: Lazy # flat _ map {|item| . . . } -> Enumerator :: Lazy (6243.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 が each および force メソッドを持つ (例:Enumerator::Lazy) とき
それ以外のときは、x は分解されず、そのままの値として使われます。
//emlist[][ruby]{
[{a:1}, {b:2}].lazy.flat_map {|i| i}.force
#=> [{:a=>1}, {:b=>2}]
//}
@raise ArgumentError......ブロックを指定しなかった場合に発生します。
@see Enumerable#flat_map... -
Enumerable
# filter _ map -> Enumerator (6221.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] (6121.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 (6119.0) -
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。
...て (2引数の) ブロックを評価した結果を、要素として持つベクトルを返します。
ブロックを省略した場合は Enumerator を返します。
@param v ブロック内で評価される(ベクトル or 配列)
@raise ExceptionForMatrix::ErrDimensionMismatch 自分......として持つベクトルを生成します。
//emlist[例][ruby]{
require 'matrix'
v1 = Vector[2, 3, 5]
v2 = Vector[7, 9, 11]
a = Array[7, 9, 11]
z = v1.map2(v2) { |x, y| x * y }
p z # => Vector[14, 27, 55]
z = v1.map2(a) { |x, y| x * y } # Array でも OK
p z # => Vector[14, 27, 55]
//}... -
Array
# map! -> Enumerator (3234.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 (3228.0) -
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
...対してブロックの適用を繰り返した結果で要素を置き換えます。
ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。
@param which which に以下の Symbol を指定することで、
引数とし......詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map! { |element| element * 10 } #=> Matrix[[10, 20], [30, 40]]
p m #=> Matrix[[10, 20], [30, 40]]
//}
@see Matrix#each, Matrix#map... -
Enumerable
# flat _ map -> Enumerator (3222.0) -
各要素をブロックに渡し、その返り値を連結した配列を返します。
...ックに渡し、その返り値を連結した配列を返します。
ブロックの返り値は基本的に配列を返すべきです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
[[1,2], [3,4]].flat_map{|i| i.map{|j| j*2}} # => [2,4,6,8]
//}... -
Vector
# map! -> Enumerator (3222.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,... -
Enumerator
:: Lazy . new(obj , size=nil) {|yielder , *values| . . . } -> Enumerator :: Lazy (3175.0) -
Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を 指定できます。
...Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに
よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ
ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を
指定で......きます。
//emlist[Enumerable#filter_map と、その遅延評価版を定義する例][ruby]{
module Enumerable
def filter_map(&block)
map(&block).compact
end
end
class Enumerator::Lazy
def filter_map
Lazy.new(self) do |yielder, *values|
result = yield *values
yielder......<< result if result
end
end
end
1.step.lazy.filter_map{|i| i*i if i.even?}.first(5)
# => [4, 16, 36, 64, 100]
//}
@raise ArgumentError 引数を指定しなかった場合、ブロックを指定しなかった場合に発生します。
@see Enumerator.new...