種類
- インスタンスメソッド (63)
- 特異メソッド (29)
- クラス (22)
クラス
- Array (19)
- Enumerator (18)
-
Enumerator
:: Lazy (11) - Proc (6)
- String (11)
-
Thread
:: SizedQueue (27)
検索結果
先頭5件
-
Thread
:: SizedQueue # <<(obj) -> () (29102.0) -
キューに与えられたオブジェクトを追加します。
...に与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その... -
Proc
# <<(callable) -> Proc (26126.0) -
self と引数を合成した Proc を返します。
...(f << g).call(3) # => 36
//}
//emlist[call を定義したオブジェクトを渡す例][ruby]{
class WordScanner
def self.call(str)
str.scan(/\w+/)
end
end
File.write('testfile', <<~TEXT)
Hello, World!
Hello, Ruby!
TEXT
pipeline = proc { |data| puts "word count: #{data.size}" } << W......ordScanner << File.method(:read)
pipeline.call('testfile') # => word count: 4
//}
@see Method#<<, Method#>>... -
Thread
:: SizedQueue # enq(obj , non _ block = false) -> () (14002.0) -
キューに与えられたオブジェクトを追加します。
...に与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その... -
Thread
:: SizedQueue # push(obj , non _ block = false) -> () (14002.0) -
キューに与えられたオブジェクトを追加します。
...に与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その... -
Enumerator
. new(size=nil) {|y| . . . } -> Enumerator (8133.0) -
Enumerator オブジェクトを生成して返します。与えられたブロックは Enumerator::Yielder オブジェクトを 引数として実行されます。
...て << メソッドが呼ばれるたびに、
each に渡されたブロックが繰り返されます。
new に渡されたブロックが終了した時点で each の繰り返しが終わります。
このときのブロックの返り値が each の返り値となります。
@param size......定します。Enumerator#size の実
行時に参照されます。
//emlist[例][ruby]{
enum = Enumerator.new{|y|
(1..10).each{|i|
y << i if i % 5 == 0
}
}
enum.each{|i| p i }
#=> 5
# 10
fib = Enumerator.new { |y|
a = b = 1
loop {
y << a
a, b = b, a + b
}
}... -
Enumerator
:: Lazy . new(obj , size=nil) {|yielder , *values| . . . } -> Enumerator :: Lazy (8109.0) -
Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を 指定できます。
...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 引... -
Array
# pack(template) -> String (8038.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...sgn * Inf # ±∞ (positive/negative infinity)
else
NaN # 非数 (not a number)
end
else
fra += 1 << 23 # ゲタ
sgn * fra * 2**(exp-127-23) # 正規化数 (normalized number)
end
//}
: G
ビッグエンディアンの倍精......sgn * Inf # ±∞ (positive/negative infinity)
else
NaN # 非数 (not a number)
end
else
fra += 1 << 52 # ゲタ
sgn * fra * 2**(exp-1023-52) # 正規化数 (normalized number)
end
//}
: p
ヌル終端の文字列へのポイ......82, 117, 98, 121].pack("c*") # => "Ruby"
s = ""
[82, 117, 98, 121].each {|c| s << c}
s # => "Ruby"
[82, 117, 98, 121].collect {|c| sprintf "%c", c}.join # => "Ruby"
[82, 117, 98, 121].inject("") {|s, c| s << c} # => "Ruby"
//}
: 文字列を数値(文字コード)の配列に変換す... -
Array
# pack(template , buffer: String . new) -> String (8038.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...sgn * Inf # ±∞ (positive/negative infinity)
else
NaN # 非数 (not a number)
end
else
fra += 1 << 23 # ゲタ
sgn * fra * 2**(exp-127-23) # 正規化数 (normalized number)
end
//}
: G
ビッグエンディアンの倍精......sgn * Inf # ±∞ (positive/negative infinity)
else
NaN # 非数 (not a number)
end
else
fra += 1 << 52 # ゲタ
sgn * fra * 2**(exp-1023-52) # 正規化数 (normalized number)
end
//}
: p
ヌル終端の文字列へのポイ......82, 117, 98, 121].pack("c*") # => "Ruby"
s = ""
[82, 117, 98, 121].each {|c| s << c}
s # => "Ruby"
[82, 117, 98, 121].collect {|c| sprintf "%c", c}.join # => "Ruby"
[82, 117, 98, 121].inject("") {|s, c| s << c} # => "Ruby"
//}
: 文字列を数値(文字コード)の配列に変換す... -
String
# unpack(template) -> Array (8038.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...sgn * Inf # ±∞ (positive/negative infinity)
else
NaN # 非数 (not a number)
end
else
fra += 1 << 23 # ゲタ
sgn * fra * 2**(exp-127-23) # 正規化数 (normalized number)
end
//}
: G
ビッグエンディアンの倍精......sgn * Inf # ±∞ (positive/negative infinity)
else
NaN # 非数 (not a number)
end
else
fra += 1 << 52 # ゲタ
sgn * fra * 2**(exp-1023-52) # 正規化数 (normalized number)
end
//}
: p
ヌル終端の文字列へのポイ......82, 117, 98, 121].pack("c*") # => "Ruby"
s = ""
[82, 117, 98, 121].each {|c| s << c}
s # => "Ruby"
[82, 117, 98, 121].collect {|c| sprintf "%c", c}.join # => "Ruby"
[82, 117, 98, 121].inject("") {|s, c| s << c} # => "Ruby"
//}
: 文字列を数値(文字コード)の配列に変換す... -
Numeric (8014.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...um Float Rational Complex
-------------------------------------------------------------------------------------------
<< | - - o o - - -
<= | - - o......- o o -
singleton_method_added | o - - - - - -
size | - - o o - - -
Numeric Integer Fixnum Bi......Numeric Integer Float Rational Complex
--------------------------------------------------------------------------------
<< | - o - - -
<= | - o o - -......round | o o o o -
singleton_method_added | o - - - -
size | - o - - -
step | o - - - -... -
String (8014.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
...ト
<<End
この行はヒアドキュメント
End
# ダブルクオートヒアドキュメント (クオートなしの場合と同じ)
<<"End"
この行はヒアドキュメント
End
# シングルクオートヒアドキュメント (一切のエスケープシーケンスが無効)
<<'End'......ント
End
# 終端記号がインデントされたヒアドキュメント
# シングルクオート、ダブルクオートとの併用も可能
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
End
//}
===[a:mutable] 破壊的な変更
Ruby の String......ーディングの変換にはメソッド String#encode を使います。
//emlist[例:エンコーディングの変換][ruby]{
p "いろは".size #=> 3
p "漢字"[0] #=> "漢"
p "山本山".reverse #=> "山本山" (回文なので分からないですね)
p "ループ".reverse......ルクオートとの併用も可能
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
End
# 中身がインデントされたヒアドキュメント
# シングルクオート、ダブルクオートとの併用も可能
<<~End
この行のインデント...