るりまサーチ

最速Rubyリファレンスマニュアル検索!
68件ヒット [1-68件を表示] (0.021秒)
トップページ > クエリ:array[x] > クエリ:*[x] > クエリ:sum[x]

別のキーワード

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

ライブラリ

クラス

モジュール

検索結果

Array#sum(init=0) -> object (27220.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)...
...0.0
[1, 2, 3].sum #=> 6
[3, 5.5].sum #=> 8.5
[2.5, 3.0].sum(0.0) {|e| e * e } #=> 15.25
[Object.new].sum #=> TypeError
//}

配列の平均値は以下のように求められます。

//emlist[例][ruby]{
mean = ary.sum(0.0) / ary.len...
...使えます。

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

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

//emlist[例][ruby]{
["a", "...

Array#sum(init=0) {|e| expr } -> object (27220.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)...
...0.0
[1, 2, 3].sum #=> 6
[3, 5.5].sum #=> 8.5
[2.5, 3.0].sum(0.0) {|e| e * e } #=> 15.25
[Object.new].sum #=> TypeError
//}

配列の平均値は以下のように求められます。

//emlist[例][ruby]{
mean = ary.sum(0.0) / ary.len...
...使えます。

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

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

//emlist[例][ruby]{
["a", "...

Enumerable#sum(init=0) -> object (18174.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 引数を明示的に指...
...list[例][ruby]{
{ 1 => 10, 2 => 20 }.sum([]) #=> [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 (18174.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 引数を明示的に指...
...list[例][ruby]{
{ 1 => 10, 2 => 20 }.sum([]) #=> [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 (996.0)

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

...い。

== 2.3.0 以降の変更

=== 言語仕様の変更

*
条件式での多重代入ができるようになりました 10617
*
Symbol#to_proc でメソッド呼び出し元での Refinements が有効になりました 9451
*
Object#send や BasicObject#__send__ でメソッドを呼...
...ments が有効になりました 11476
*
後置 rescue をメソッドの引数内に書けるようになりました 12686
*
トップレベルで return を書けるようになりました 4840

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

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

絞り込み条件を変える

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

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

...per・ブロック付き・yield)
*
super
*
block
*
yield
*
block_arg
*
numbered_parameters
*
call_method

//emlist[例][ruby]{
foo.bar()
foo.bar
bar()
print "hello world\n"
print
Class.new
Class::new
//}

文法:

[式 `.'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']...
...た)

# 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...
...挙動


メソッド呼び出しと挙動が異なります。
lambda でないブロックを呼び出したとき

*
引数の数が違ってもエラーになりません。
*
配列をひとつ渡したときにそれが引数の並びとして展開されることがあります。

//emli...

fiddle/import (48.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...
..., 4.0].pack('d*'), 3) #=> 9.0

また与えられた文字列の配列 s (長さlen)の各要素の最初の文字を buf にコピーする関数
void first_char(char **s, char *buf, int len)
があったとします。これを呼び出すにも以下のように Array#pack を使用します...
...ddle/import'
module M
extend Fiddle::Importer
dlload './libstrfirst.so'
extern 'void first_char(char **, char *, int)'
end
buf = '111'
M.first_char(['Abc', 'Def', 'Ghi'].pack('p*'), buf, 3)
p buf #=> 'ADG'

==== Ruby のオブジェクトをコールバックに渡したい

任意...