るりまサーチ

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

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

ライブラリ

クラス

モジュール

キーワード

検索結果

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

要素の合計を返します。

...selfが空の場合、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 引数を明...
...す。

//emlist[例][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 (29256.0)

要素の合計を返します。

...selfが空の場合、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 引数を明...
...す。

//emlist[例][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...

Array#sum(init=0) -> object (26302.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", "b", "c"].join...

Array#sum(init=0) {|e| expr } -> object (26302.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", "b", "c"].join...

String#sum(bits = 16) -> Integer (26261.0)

文字列の bits ビットのチェックサムを計算します。

...文字列の bits ビットのチェックサムを計算します。

以下と同じです。

//emlist[][ruby]{
def sum(bits)
sum
= 0
each_byte {|c| sum += c }
return 0 if sum == 0
sum
& ((1 << bits) - 1)
end
//}

例えば以下のコードで UNIX System V の
sum
(1) コマンドと同...
...じ値が得られます。

//emlist[例][ruby]{
sum
= 0
ARGF.each_line do |line|
sum
+= line.sum
end
sum
%= 65536
//}

@param bits チェックサムのビット数...

絞り込み条件を変える

Fiber#resume(*arg = nil) -> object (17200.0)

自身が表すファイバーへコンテキストを切り替えます。 自身は resume を呼んだファイバーの子となります。

...自身が表すファイバーへコンテキストを切り替えます。
自身は resume を呼んだファイバーの子となります。

ただし、Fiber#transfer を呼び出した後に resume を呼び出す事はでき
ません。

@param arg self が表すファイバーに渡した...
...す。

@return コンテキストの切り替えの際に Fiber.yield に与えられた引数
を返します。ブロックの終了まで実行した場合はブロックの評価結果
を返します。

@raise FiberError 自身が既に終了している場合、コンテキ...
...resume を
呼んだファイバーの親かその祖先である場合に発生します。
また、Fiber#transfer を呼び出した後に resume を
呼び出した場合に発生します。

//emlist[例:][ruby]{

f = Fiber.new do
Fiber....

RubyVM::MJIT.resume -> bool (17200.0)

RubyVM::MJIT.pause で一時停止した JIT を再開します。

...RubyVM::MJIT.pause で一時停止した JIT を再開します。

@return 再開したときは true を、すでに動いているときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@raise RuntimeError JIT の再開に失敗した時に発...
...生します。

@see RubyVM::MJIT.enabled?, RubyVM::MJIT.pause...

Object::DATA -> File (11018.0)

スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。

...ん。
* Kernel.#require や Kernel.#load で
読み込まれたファイルの中であってもそのファイル (__FILE__, d:spec/variables#pseudo)
ではなく実行されたファイル ($0) を指します。

=== 例1
print DATA.gets # => 故人西辞黄鶴楼
print D...
...
sum
= 0
DATA.each_line do |line|
sum
+= line.to_i
end

DATA.rewind
p DATA.gets # => "sum = 0¥n"

__END__
17
19
23
29
31

=== 例3
DATA.gets # => uninitialized constant DATA (NameError)

=== 例4

ファイル library.rb と app.rb...
...の内容が以下であったとします。

library.rb:
print DATA.gets

__END__
data from library

app.rb:
require 'library.rb'

__END__
data from app

このときシェルから次を実行すると
$ ruby app.rb
結果は以下のように出力されます。...

Proc#curry -> Proc (8162.0)

Procをカリー化します

...][ruby]{
b
= proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 6
p b.curry(5)[1][2][3][4][5] #=> 6
p b.curry(5)[1, 2][3, 4][5] #=> 6
p b.curry(1)[1] #=> 1

b
= proc {|x, y, z, *w| (x||0) + (y||0) + (z||0) + w.sum }
p b.curry...
...#=> 6
p b.curry[1, 2][3, 4] #=> 10
p b.curry(5)[1][2][3][4][5] #=> 15
p b.curry(5)[1, 2][3, 4][5] #=> 15
p b.curry(1)[1] #=> 1

b
= lambda {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> wrong number of arguments...
...p b.curry(5) #=> wrong number of arguments (given 5, expected 3)
p b.curry(1) #=> wrong number of arguments (given 1, expected 3)

b
= lambda {|x, y, z, *w| (x||0) + (y||0) + (z||0) + w.sum }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 10
p b....

Proc#curry(arity) -> Proc (8162.0)

Procをカリー化します

...][ruby]{
b
= proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 6
p b.curry(5)[1][2][3][4][5] #=> 6
p b.curry(5)[1, 2][3, 4][5] #=> 6
p b.curry(1)[1] #=> 1

b
= proc {|x, y, z, *w| (x||0) + (y||0) + (z||0) + w.sum }
p b.curry...
...#=> 6
p b.curry[1, 2][3, 4] #=> 10
p b.curry(5)[1][2][3][4][5] #=> 15
p b.curry(5)[1, 2][3, 4][5] #=> 15
p b.curry(1)[1] #=> 1

b
= lambda {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> wrong number of arguments...
...p b.curry(5) #=> wrong number of arguments (given 5, expected 3)
p b.curry(1) #=> wrong number of arguments (given 1, expected 3)

b
= lambda {|x, y, z, *w| (x||0) + (y||0) + (z||0) + w.sum }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 10
p b....

絞り込み条件を変える