るりまサーチ

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

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

<< 1 2 3 ... > >>

Enumerable#reduce(init = self.first) {|result, item| ... } -> object (6352.0)

リストのたたみこみ演算を行います。

...ストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self
の次の要素を引数に順次ブロックを実行します。
そうし...
...の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@
param init 最初の result の値です。任意のオブジェクトが渡せます。
@
param sym ブロックの代わりに使われるメソッド名を表す Symbol オブジェクトを...
...ドが呼ばれます。

//emlist[例][ruby]{
# 合計を計算する。
p [2, 3, 4, 5].inject {|result, item| result + item } #=> 14

# 自乗和を計算する。初期値をセットする必要がある。
p [2, 3, 4, 5].inject(0) {|result, item| result + item**2 } #=> 54
//}

この式...

Enumerable#each_entry {|obj| block} -> self (6221.0)

ブロックを各要素に一度ずつ適用します。

...配列として渡されます。

//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}

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

@
see Enumerable#slice_before...

Enumerable#sort_by -> Enumerator (6196.0)

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

...比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。

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

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

Enumerable
#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by を使わない以下の例では比較を行う度に downcase が実行されます。
従って downcase の実行速度が遅ければ sort の...
...[ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}

一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。
つまり、その部分の実行時間は O(n) のオーダーです。

//emlist[][ruby]{
p ["BAR", "FOO", "bar"...

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

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

...比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。

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

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

Enumerable
#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙げられます。
sort_by を使わない以下の例では比較を行う度に downcase が実行されます。
従って downcase の実行速度が遅ければ sort の...
...[ruby]{
p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }
//}

一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。
つまり、その部分の実行時間は O(n) のオーダーです。

//emlist[][ruby]{
p ["BAR", "FOO", "bar"...

Enumerable#reduce(init, sym) -> object (6152.0)

リストのたたみこみ演算を行います。

...ストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self
の次の要素を引数に順次ブロックを実行します。
そうし...
...の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@
param init 最初の result の値です。任意のオブジェクトが渡せます。
@
param sym ブロックの代わりに使われるメソッド名を表す Symbol オブジェクトを...
...ドが呼ばれます。

//emlist[例][ruby]{
# 合計を計算する。
p [2, 3, 4, 5].inject {|result, item| result + item } #=> 14

# 自乗和を計算する。初期値をセットする必要がある。
p [2, 3, 4, 5].inject(0) {|result, item| result + item**2 } #=> 54
//}

この式...

絞り込み条件を変える

Enumerable#reduce(sym) -> object (6152.0)

リストのたたみこみ演算を行います。

...ストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self
の次の要素を引数に順次ブロックを実行します。
そうし...
...の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@
param init 最初の result の値です。任意のオブジェクトが渡せます。
@
param sym ブロックの代わりに使われるメソッド名を表す Symbol オブジェクトを...
...ドが呼ばれます。

//emlist[例][ruby]{
# 合計を計算する。
p [2, 3, 4, 5].inject {|result, item| result + item } #=> 14

# 自乗和を計算する。初期値をセットする必要がある。
p [2, 3, 4, 5].inject(0) {|result, item| result + item**2 } #=> 54
//}

この式...

Enumerable#each_entry -> Enumerator (6121.0)

ブロックを各要素に一度ずつ適用します。

...配列として渡されます。

//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}

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

@
see Enumerable#slice_before...

Enumerable#inject(init = self.first) {|result, item| ... } -> object (3252.0)

リストのたたみこみ演算を行います。

...ストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self
の次の要素を引数に順次ブロックを実行します。
そうし...
...の要素を返します。
要素がなければブロックを実行せずに nil を返します。

@
param init 最初の result の値です。任意のオブジェクトが渡せます。
@
param sym ブロックの代わりに使われるメソッド名を表す Symbol オブジェクトを...
...ドが呼ばれます。

//emlist[例][ruby]{
# 合計を計算する。
p [2, 3, 4, 5].inject {|result, item| result + item } #=> 14

# 自乗和を計算する。初期値をセットする必要がある。
p [2, 3, 4, 5].inject(0) {|result, item| result + item**2 } #=> 54
//}

この式...

Enumerable#each_with_index(*args) {|item, index| ... } -> self (3239.0)

要素とそのインデックスをブロックに渡して繰り返します。

...デックスを繰り返すような
Enumerator を返します。

Enumerator#with_index は offset 引数を受け取りますが、
each_with_index は受け取りません (引数はイテレータメソッドにそのまま渡されます)。

@
param args イテレータメソッド (each な...
...][ruby]{
[5, 10, 15].each_with_index do |n, idx|
p [n, idx]
end
# => [5, 0]
# [10, 1]
# [15, 2]
//}

//emlist[引数ありの例][ruby]{
r
equire 'stringio'
StringIO.new("foo|bar|baz").each_with_index("|") do |s, i|
p [s, i]
end
# => ["foo|", 0]
# ["bar|", 1]
# ["baz", 2]
//}

@
see En...
...umerator#with_index...
<< 1 2 3 ... > >>