るりまサーチ

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

別のキーワード

  1. array fill
  2. array sample
  3. array []
  4. array rindex
  5. array []=

ライブラリ

クラス

モジュール

検索結果

Array#sum(init=0) -> object (48238.0)

要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。

...[e1, e2, e3].sum は init + e1 + e2 + e3 を返します。

ブロックが与えられた場合、加算する前に各要素にブロックが適用されます。

配列が空の場合、initを返します。

//emlist[例][ruby]{
[].sum #=> 0
[].sum(0.0)...
...使えます。

//emlist[例][ruby]{
["a", "b", "c"].sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}

しかし、文字列の配列や配列の配列の場合 Array#join や Array#flatten の方が Array#sum よりも高速です。

//emlist[例][ruby]{
["a", "...
...b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}

"+" メソッドが再定義されている場合、Array#sum は再定義を無視することがあります(例えば Integer#+)。

@see Enumerable#sum...

Array#sum(init=0) {|e| expr } -> object (48238.0)

要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。

...[e1, e2, e3].sum は init + e1 + e2 + e3 を返します。

ブロックが与えられた場合、加算する前に各要素にブロックが適用されます。

配列が空の場合、initを返します。

//emlist[例][ruby]{
[].sum #=> 0
[].sum(0.0)...
...使えます。

//emlist[例][ruby]{
["a", "b", "c"].sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}

しかし、文字列の配列や配列の配列の場合 Array#join や Array#flatten の方が Array#sum よりも高速です。

//emlist[例][ruby]{
["a", "...
...b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}

"+" メソッドが再定義されている場合、Array#sum は再定義を無視することがあります(例えば Integer#+)。

@see Enumerable#sum...

Enumerable#sum(init=0) -> object (18168.0)

要素の合計を返します。

...の場合、initを返します。

//emlist[例][ruby]{
{ 1 => 10, 2 => 20 }.sum {|k, v| k * v } # => 50
(1..10).sum # => 55
(1..10).sum {|v| v * 2 } # => 110
('a'..'z').sum # => TypeError
//}

init 引数を明示的に指...
...#=> [1, 10, 2, 20]
"a\nb\nc".each_line.lazy.map(&:chomp).sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}

"+" メソッドが再定義されている場合、Enumerable#sum は再定義を無視することがあります(例えばInteger#+)。

@see Array#sum...

Enumerable#sum(init=0) {|e| expr } -> object (18168.0)

要素の合計を返します。

...の場合、initを返します。

//emlist[例][ruby]{
{ 1 => 10, 2 => 20 }.sum {|k, v| k * v } # => 50
(1..10).sum # => 55
(1..10).sum {|v| v * 2 } # => 110
('a'..'z').sum # => TypeError
//}

init 引数を明示的に指...
...#=> [1, 10, 2, 20]
"a\nb\nc".each_line.lazy.map(&:chomp).sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
//}

"+" メソッドが再定義されている場合、Enumerable#sum は再定義を無視することがあります(例えばInteger#+)。

@see Array#sum...

NEWS for Ruby 2.4.0 (180.0)

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

...で return を書けるようになりました 4840

=== 組み込みクラスの更新

* Array
* Array#concat 12333
複数の引数を取れるようになりました。
* Array#max, Array#min 12172
この変更は小さな非互換の原因となります:
Enumerable...
...なときは Array#max も再定義してください。
* Array#pack 12754
既にアロケートされているバッファを再利用するためにオプションキーワード引数 buffer: を取るようになりました。
* Array#sum 12217
Enumerable#sum と違って e...
...く)

* Array#sum と Enumerable#sum を追加しました。 12217
Ruby2.4以前ではArray#sumはなかったのでRuby自身には互換性の問題はありません。
しかし、多くのサードパーティ製のGem(activesupport, facets, simple_stats, etc)で
sum
メソッド...

絞り込み条件を変える

fiddle/import (42.0)

fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

...double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libsum.so'
extern 'double sum(double*, int)'
end
p M.sum([2.0, 3.0...
...f にコピーする関数
void first_char(char **s, char *buf, int len)
があったとします。これを呼び出すにも以下のように Array#pack を使用します。

require 'fiddle/import'
module M
extend Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(...

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

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

...た)

# Array#eachの(粗製乱造の)類似品
def iich(arr) # 引数に配列を取る
idx = 0
while idx < arr.size
yield(arr[idx]) # 引数の各要素毎に、その要素を引数にしてブロックを起動
idx += 1
end
end

sum
= 0
iich([1, 4, 9, 16, 25]) {|elem|
sum
+= elem...