別のキーワード
クラス
- Array (8)
-
Enumerator
:: Lazy (6) - Exception (1)
- Matrix (6)
-
Net
:: IMAP (7) -
Net
:: IMAP :: BodyTypeBasic (4) -
Net
:: IMAP :: BodyTypeMessage (4) -
Net
:: IMAP :: BodyTypeMultipart (1) -
Net
:: IMAP :: BodyTypeText (4) -
Net
:: IMAP :: ResponseText (1) - Object (4)
-
ObjectSpace
:: WeakMap (1) -
Psych
:: Nodes :: Mapping (2) - Set (2)
-
Thread
:: Backtrace :: Location (4) - Vector (3)
-
WIN32OLE
_ TYPE (5) -
WIN32OLE
_ TYPELIB (2) -
WIN32OLE
_ VARIABLE (3)
モジュール
- Enumerable (15)
- TSort (2)
キーワード
- == (1)
- [] (1)
-
absolute
_ path (1) -
add
_ response _ handler (2) - anchor (1)
-
base
_ label (1) -
chunk
_ while (1) - code (1)
- collect (7)
- collect! (3)
- collect2 (2)
-
collect
_ concat (1) -
content
_ id (3) -
default
_ event _ sources (1) -
default
_ ole _ types (1) - description (3)
- disposition (4)
- each (2)
-
each
_ strongly _ connected _ component _ from (2) -
enum
_ for (2) - expunge (1)
-
flat
_ map (1) - getquotaroot (1)
- grep (1)
-
grep
_ v (1) -
implemented
_ ole _ types (1) - inspect (1)
- lazy (1)
- list (1)
- map! (3)
- map2 (1)
-
ole
_ classes (1) -
ole
_ methods (1) -
ole
_ types (1) - param (3)
-
slice
_ after (2) -
slice
_ before (2) -
slice
_ when (1) -
sort
_ by (2) -
source
_ ole _ types (1) - store (1)
- sum (2)
- tag (1)
-
to
_ enum (2) -
to
_ s (1) -
uid
_ store (1) -
variable
_ kind (1) - varkind (1)
- visible? (1)
検索結果
先頭5件
-
Enumerator
:: Lazy # map {|item| . . . } -> Enumerator :: Lazy (45823.0) -
Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
//emlist[例][ruby]{
1.step.lazy.map{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:map>
1.step.lazy.collect{ |n| n.succ }.take(10).force
# => [2, 3, 4, 5, 6, 7, 8,... -
Array
# map {|item| . . . } -> [object] (45688.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Enumerable
# map {|item| . . . } -> [object] (45688.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}
@see Array#collect, Array#map -
Matrix
# map {|x| . . . } -> Matrix (45688.0) -
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
ブロックがない場合、 Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map { |x| x + 100 } # => Matrix[[101, 102], [103, 104]]
//}
@see Matrix#each -
Array
# map -> Enumerator (45388.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Enumerable
# map -> Enumerator (45388.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}
@see Array#collect, Array#map -
Matrix
# map -> Enumerator (45388.0) -
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
ブロックがない場合、 Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map { |x| x + 100 } # => Matrix[[101, 102], [103, 104]]
//}
@see Matrix#each -
Vector
# map2(v) {|x , y| . . . } -> Vector (18772.0) -
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。
ベクトルの各要素と、それに対応するインデックスを持つ引数 (ベクトル or 配列) の要素との組に対して (2引数の) ブロックを評価した結果を、要素として持つベクトルを返します。
ブロックを省略した場合は Enumerator を返します。
@param v ブロック内で評価される(ベクトル or 配列)
@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていた... -
Net
:: IMAP # getquotaroot(mailbox) -> [Net :: IMAP :: MailboxQuotaRoot | Net :: IMAP :: MailboxQuota] (9943.0) -
GETQUOTAROOT コマンドを送って 指定したメールボックスの quota root の一覧と、 関連する quota の情報を返します。
GETQUOTAROOT コマンドを送って
指定したメールボックスの quota root の一覧と、
関連する quota の情報を返します。
quota root の情報は Net::IMAP::MailboxQuotaRoot のオブジェクトで、
返り値の配列の中に唯一含まれています。
quota の情報はメールボックスに関連付けられた quota root ごとに
Net::IMAP::MailboxQuota オブジェクトで得られます。
詳しくは 2087 を見てください。
このコマンドは Net::IMAP#capability の返り値を見ることで
利用可能かどうか判断できま... -
Enumerator
:: Lazy # flat _ map {|item| . . . } -> Enumerator :: Lazy (9739.0) -
ブロックの実行結果をひとつに繋げたものに対してイテレートするような Enumerator::Lazy のインスタンスを返します。
ブロックの実行結果をひとつに繋げたものに対してイテレートするような
Enumerator::Lazy のインスタンスを返します。
//emlist[][ruby]{
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force
#=> ["f", "o", "o", "b", "a", "r"]
//}
ブロックの返した値 x は、以下の場合にのみ分解され、連結されます。
* x が配列であるか、to_ary メソッドを持つとき
* x が each および force メソッドを持つ (例:Enumerator::Lazy) ... -
Array
# map! {|item| . . } -> self (9706.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Net
:: IMAP # store(set , attr , flags) -> [Net :: IMAP :: FetchData] | nil (9679.0) -
STORE コマンドを送り、メールボックス内のメッセージを 更新します。
STORE コマンドを送り、メールボックス内のメッセージを
更新します。
set で更新するメッセージを指定します。
これには sequence number、sequence number の配列、もしくは
Range オブジェクトを渡します。
Net::IMAP#select で指定したメールボックスを対象とします。
attr で何をどのように変化させるかを指定します。
以下を指定することができます。
* "FLAGS"
* "+FLAGS"
* "-FLAGS"
それぞれメッセージのフラグの置き換え、追加、削除を意味します。
詳しくは 2060 の 6.4.6 を参考に... -
Net
:: IMAP # uid _ store(set , attr , flags) -> [Net :: IMAP :: FetchData] | nil (9679.0) -
UID STORE コマンドを送り、メールボックス内のメッセージを 更新します。
UID STORE コマンドを送り、メールボックス内のメッセージを
更新します。
set で更新するメッセージを指定します。
これには UID、UID の配列、もしくは
Range オブジェクトを渡します。
Net::IMAP#select で指定したメールボックスを対象とします。
attr で何をどのように変化させるかを指定します。
以下を指定することができます。
* "FLAGS"
* "+FLAGS"
* "-FLAGS"
それぞれメッセージのフラグの置き換え、追加、削除を意味します。
詳しくは 2060 の 6.4.6 を参考にしてください。
返り値は更新された内... -
Set
# map! {|o| . . . } -> self (9667.0) -
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
//emlist[][ruby]{
require 'set'
set = Set['hello', 'world']
set.map! {|str| str.capitalize}
p set # => #<Set: {"Hello", "World"}>
//}
@see Enumerable#collect -
Net
:: IMAP # list(refname , mailbox) -> [Net :: IMAP :: MailboxList] | nil (9643.0) -
LIST コマンドを送り、クライアントから利用可能なメールボックス名の集合から 引数にマッチするものすべてを返します。
LIST コマンドを送り、クライアントから利用可能なメールボックス名の集合から
引数にマッチするものすべてを返します。
詳しくは 2060 の 6.3.8 を参照してください。
返り値は Net::IMAP::MailboxList の配列で返します。
返り値が空集合である場合は空の配列でなく nil を返します。
@param refname 参照名(文字列)
@param mailbox 調べるメールボックスの名前(文字列)。ワイルドカードを含んでいてもかまいません。
例:
imap.create("foo/bar")
imap.create("foo/baz")
... -
Net
:: IMAP :: BodyTypeBasic # disposition -> Net :: IMAP :: ContentDisposition | nil (9625.0) -
Content-Dispotition の値を返します。
Content-Dispotition の値を返します。
Net::IMAP::ContentDisposition オブジェクトを返します。
@see 1806, 2183 -
Net
:: IMAP :: BodyTypeMessage # disposition -> Net :: IMAP :: ContentDisposition | nil (9625.0) -
Content-Dispotition の値を返します。
Content-Dispotition の値を返します。
Net::IMAP::ContentDisposition オブジェクトを返します。
@see 1806, 2183 -
Net
:: IMAP :: BodyTypeMultipart # disposition -> Net :: IMAP :: ContentDisposition | nil (9625.0) -
Content-Dispotition の値を返します。
Content-Dispotition の値を返します。
Net::IMAP::ContentDisposition オブジェクトを返します。
@see 1806, 2183 -
Net
:: IMAP :: BodyTypeText # disposition -> Net :: IMAP :: ContentDisposition | nil (9625.0) -
Content-Dispotition の値を返します。
Content-Dispotition の値を返します。
Net::IMAP::ContentDisposition オブジェクトを返します。
@see 1806, 2183 -
Net
:: IMAP :: ResponseText # code -> Net :: IMAP :: ResponseCode | nil (9625.0) -
レスポンスコードを返します。
レスポンスコードを返します。
応答がレスポンスコードを含んでいない場合は nil を返します。
@see Net::IMAP::ResponseCode -
Array
# map! -> Enumerator (9406.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Net
:: IMAP # add _ response _ handler(handler) {|resp| . . . } -> () (9379.0) -
レスポンスハンドラを追加します。
レスポンスハンドラを追加します。
レスポンスハンドラはサーバから応答を受け取るごとに
呼びだされます。ハンドラには
Net::IMAP::TaggedResponse もしくは
Net::IMAP::UntaggedResponse オブジェクトが
渡されます。
主にサーバからの非同期的なイベントを受け取るため
に用います。例えば EXISTS 応答を受け取る
(メールボックスに新たなメールが追加されたタイミングで発生します)
ためなどに用いられます。
レスポンスハンドラはメインのスレッドとは別のスレッドで
呼びだされることに注意してください。
例:
imap.add_respo... -
Net
:: IMAP # expunge -> [Integer] | nil (9325.0) -
EXPUNGEコマンドを送り、:Deletedフラグをセットしたメッセージを すべて処理中のメールボックスから削除します。
EXPUNGEコマンドを送り、:Deletedフラグをセットしたメッセージを
すべて処理中のメールボックスから削除します。
削除したメッセージの message sequence number を配列で返します。
@raise Net::IMAP::NoResponseError メールボックスが read-only である場合に発生します -
Net
:: IMAP :: BodyTypeBasic # content _ id -> String | nil (9325.0) -
Content-ID の値を文字列で返します。
Content-ID の値を文字列で返します。
@see 2045 -
Net
:: IMAP :: BodyTypeBasic # description -> String | nil (9325.0) -
Content-Description の値を文字列で返します。
Content-Description の値を文字列で返します。
@see 2045 -
Net
:: IMAP :: BodyTypeBasic # param -> { String => String } | nil (9325.0) -
MIME のボディパラメータをハッシュテーブルで返します。
MIME のボディパラメータをハッシュテーブルで返します。
ハッシュテーブルのキーがパラメータ名となります。
@see 2045 -
Net
:: IMAP :: BodyTypeMessage # content _ id -> String | nil (9325.0) -
Content-ID の値を文字列で返します。
Content-ID の値を文字列で返します。
@see 2045 -
Net
:: IMAP :: BodyTypeMessage # description -> String | nil (9325.0) -
Content-Description の値を文字列で返します。
Content-Description の値を文字列で返します。
@see 2045 -
Net
:: IMAP :: BodyTypeMessage # param -> { String => String } | nil (9325.0) -
MIME のボディパラメータをハッシュテーブルで返します。
MIME のボディパラメータをハッシュテーブルで返します。
ハッシュテーブルのキーがパラメータ名となります。
@see 2045 -
Net
:: IMAP :: BodyTypeText # content _ id -> String | nil (9325.0) -
Content-ID の値を文字列で返します。
Content-ID の値を文字列で返します。
@see 2045 -
Net
:: IMAP :: BodyTypeText # description -> String | nil (9325.0) -
Content-Description の値を文字列で返します。
Content-Description の値を文字列で返します。
@see 2045 -
Net
:: IMAP :: BodyTypeText # param -> { String => String } | nil (9325.0) -
MIME のボディパラメータをハッシュテーブルで返します。
MIME のボディパラメータをハッシュテーブルで返します。
ハッシュテーブルのキーがパラメータ名となります。
@see 2045 -
ObjectSpace
:: WeakMap # [](key) -> object | nil (9325.0) -
引数 key で指定されたオブジェクトが参照するオブジェクトを返します。
引数 key で指定されたオブジェクトが参照するオブジェクトを返します。
参照先のオブジェクトが存在しない場合、GC されている場合、対象外のオブジェ
クトを参照している場合に nil を返します。
@param key 参照元のオブジェクトを指定します。 -
Psych
:: Nodes :: Mapping # anchor -> String|nil (9325.0) -
mapping に付加された anchor を返します。
mapping に付加された anchor を返します。
@see Psych::Nodes::Mapping#anchor=,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # tag -> String|nil (9325.0) -
mapping に付加された tag を返します。
mapping に付加された tag を返します。
@see Psych::Nodes::Mapping#tag=,
Psych::Nodes::Mapping.new -
Net
:: IMAP # add _ response _ handler(handler) -> () (9079.0) -
レスポンスハンドラを追加します。
レスポンスハンドラを追加します。
レスポンスハンドラはサーバから応答を受け取るごとに
呼びだされます。ハンドラには
Net::IMAP::TaggedResponse もしくは
Net::IMAP::UntaggedResponse オブジェクトが
渡されます。
主にサーバからの非同期的なイベントを受け取るため
に用います。例えば EXISTS 応答を受け取る
(メールボックスに新たなメールが追加されたタイミングで発生します)
ためなどに用いられます。
レスポンスハンドラはメインのスレッドとは別のスレッドで
呼びだされることに注意してください。
例:
imap.add_respo... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) {|nodes| . . . } -> () (703.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
Enumerable
# slice _ when {|elt _ before , elt _ after| bool } -> Enumerator (559.0) -
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。
隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が真になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.slice_when { |elt_before, elt_aft... -
Enumerable
# chunk _ while {|elt _ before , elt _ after| . . . } -> Enumerator (523.0) -
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。
隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が偽になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.chunk_while { |elt_before, elt_af... -
Enumerable
# slice _ after {|elt| bool } -> Enumerator (523.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素 としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し ます。
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素
としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し
ます。
パターンを渡した場合は各要素に対し === が呼び出され、 それが真になった
ところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対
しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。
パターンもブロックも最初から最後の要素まで呼び出されます。
各チャンクは配列として表現されます。そのため、以下のような呼び出しを行
う事もできます。
//emlist[例][ruby]{
enum.sl... -
Enumerable
# slice _ before {|elt| bool } -> Enumerator (523.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。
パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。
より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
Enumerable#to_a や Enumerable#map ... -
Enumerable
# sort _ by {|item| . . . } -> [object] (523.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Enumerator
:: Lazy # collect {|item| . . . } -> Enumerator :: Lazy (523.0) -
Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
//emlist[例][ruby]{
1.step.lazy.map{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:map>
1.step.lazy.collect{ |n| n.succ }.take(10).force
# => [2, 3, 4, 5, 6, 7, 8,... -
Object
# enum _ for(method = :each , *args) {|*args| . . . } -> Enumerator (454.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) {|*args| . . . } -> Enumerator (454.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Vector
# collect2(v) {|x , y| . . . } -> Array (451.0) -
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。
ベクトルの各要素と、それに対応するインデックスを持つ引数 v (ベクトル or 配列)の要素との組に対して (2引数の) ブロックを評価し、その結果を要素として持つ配列を返します。
ブロックを省略した場合は Enumerator を返します。
@param v ブロック内で評価される(ベクトル or 配列)
@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていたとき... -
Enumerator
:: Lazy # collect _ concat {|item| . . . } -> Enumerator :: Lazy (439.0) -
ブロックの実行結果をひとつに繋げたものに対してイテレートするような Enumerator::Lazy のインスタンスを返します。
ブロックの実行結果をひとつに繋げたものに対してイテレートするような
Enumerator::Lazy のインスタンスを返します。
//emlist[][ruby]{
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force
#=> ["f", "o", "o", "b", "a", "r"]
//}
ブロックの返した値 x は、以下の場合にのみ分解され、連結されます。
* x が配列であるか、to_ary メソッドを持つとき
* x が each および force メソッドを持つ (例:Enumerator::Lazy) ... -
Array
# collect! {|item| . . } -> self (406.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) -> Enumerator (403.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
Matrix
# each(which = :all) {|e| . . . } -> self (397.0) -
行列の各要素を引数としてブロックを呼び出します。
行列の各要素を引数としてブロックを呼び出します。
0行目、1行目、…という順番で処理します。
which に以下の Symbol を指定することで
引数として使われる要素を限定することができます。
* :all - すべての要素(デフォルト)
* :diagonal - 対角要素
* :off_diagonal 対角要素以外
* :lower 対角成分とそれより下側の部分
* :upper対角成分とそれより上側の部分
* :strict_lower 対角成分の下側
* :strict_upper 対角成分の上側
ブロックを省略した場合、 Enumerator ... -
Array
# collect {|item| . . . } -> [object] (388.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Enumerable
# collect {|item| . . . } -> [object] (388.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}
@see Array#collect, Array#map -
Matrix
# collect {|x| . . . } -> Matrix (388.0) -
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
ブロックがない場合、 Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map { |x| x + 100 } # => Matrix[[101, 102], [103, 104]]
//}
@see Matrix#each -
Enumerable
# sum(init=0) {|e| expr } -> object (379.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
... -
Enumerator
:: Lazy # grep(pattern) {|item| . . . } -> Enumerator :: Lazy (379.0) -
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep(/\A(\d)\1+\z/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/).... -
Enumerator
:: Lazy # grep _ v(pattern) {|item| . . . } -> Enumerator :: Lazy (379.0) -
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep_v(/(\d).*\1/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/).t... -
Set
# collect! {|o| . . . } -> self (367.0) -
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
//emlist[][ruby]{
require 'set'
set = Set['hello', 'world']
set.map! {|str| str.capitalize}
p set # => #<Set: {"Hello", "World"}>
//}
@see Enumerable#collect -
Enumerable
# slice _ after(pattern) -> Enumerator (223.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素 としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し ます。
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素
としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し
ます。
パターンを渡した場合は各要素に対し === が呼び出され、 それが真になった
ところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対
しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。
パターンもブロックも最初から最後の要素まで呼び出されます。
各チャンクは配列として表現されます。そのため、以下のような呼び出しを行
う事もできます。
//emlist[例][ruby]{
enum.sl... -
Enumerable
# slice _ before(pattern) -> Enumerator (223.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。
パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。
より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
Enumerable#to_a や Enumerable#map ... -
Enumerable
# sort _ by -> Enumerator (223.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Enumerable
# lazy -> Enumerator :: Lazy (202.0) -
自身を lazy な Enumerator に変換したものを返します。
自身を lazy な Enumerator に変換したものを返します。
この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではな
くEnumeratorを返す) ように再定義されています。
* map/collect
* flat_map/collect_concat
* select/find_all
* reject
* grep
* take, take_while
* drop, drop_while
* zip (※一貫性のため、ブロックを渡さないケースのみlazy)
* cycle (※一貫性のため、ブロックを渡さないケースのみl... -
Exception
# ==(other) -> bool (184.0) -
自身と指定された other のクラスが同じであり、 message と backtrace が == メソッドで比較して 等しい場合に true を返します。そうでない場合に false を返します。
自身と指定された other のクラスが同じであり、
message と backtrace が == メソッドで比較して
等しい場合に true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
自身と異なるクラスのオブジェクトを指定した場合は
Exception#exception を実行して変換を試みます。
//emlist[例][ruby]{
require "date"
def check_long_month(month)
return if D... -
WIN32OLE
_ TYPE # default _ event _ sources -> [WIN32OLE _ TYPE] (166.0) -
型が持つソースインターフェイスを取得します。
型が持つソースインターフェイスを取得します。
default_event_sourcesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスがサポートするデフォルトのソースインターフェイス(イ
ベントの通知元となるインターフェイス)を返します。
@return デフォルトのソースインターフェイスをWIN32OLE_TYPEの配列と
して返します。返すのは配列ですが、デフォルトのソースインターフェ
イスは最大でも1インターフェイスです。ソースインターフェイスを持
たない場合は空配列を返します。
tobj = ... -
Object
# enum _ for(method = :each , *args) -> Enumerator (154.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) -> Enumerator (154.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Vector
# collect2(v) -> Enumerator (151.0) -
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。
ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。
ベクトルの各要素と、それに対応するインデックスを持つ引数 v (ベクトル or 配列)の要素との組に対して (2引数の) ブロックを評価し、その結果を要素として持つ配列を返します。
ブロックを省略した場合は Enumerator を返します。
@param v ブロック内で評価される(ベクトル or 配列)
@raise ExceptionForMatrix::ErrDimensionMismatch 自分自身と引数のベクト
ルの要素の数(次元)が異なっていたとき... -
Array
# collect! -> Enumerator (106.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Matrix
# each(which = :all) -> Enumerator (97.0) -
行列の各要素を引数としてブロックを呼び出します。
行列の各要素を引数としてブロックを呼び出します。
0行目、1行目、…という順番で処理します。
which に以下の Symbol を指定することで
引数として使われる要素を限定することができます。
* :all - すべての要素(デフォルト)
* :diagonal - 対角要素
* :off_diagonal 対角要素以外
* :lower 対角成分とそれより下側の部分
* :upper対角成分とそれより上側の部分
* :strict_lower 対角成分の下側
* :strict_upper 対角成分の上側
ブロックを省略した場合、 Enumerator ... -
Thread
:: Backtrace :: Location # absolute _ path -> String (94.0) -
self が表すフレームの絶対パスを返します。
self が表すフレームの絶対パスを返します。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.absolute_path
end
# => /path/to/foo.rb
# /path/to/foo.rb
# /path/to/foo.rb
//}
@see... -
Thread
:: Backtrace :: Location # base _ label -> String (94.0) -
self が表すフレームの基本ラベルを返します。通常、 Thread::Backtrace::Location#label から修飾を取り除いたもので構成 されます。
self が表すフレームの基本ラベルを返します。通常、
Thread::Backtrace::Location#label から修飾を取り除いたもので構成
されます。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.base_label
end
# => init... -
Array
# collect -> Enumerator (88.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Enumerable
# collect -> Enumerator (88.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}
@see Array#collect, Array#map -
Matrix
# collect -> Enumerator (88.0) -
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
ブロックがない場合、 Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, 2], [3, 4]]
p m.map { |x| x + 100 } # => Matrix[[101, 102], [103, 104]]
//}
@see Matrix#each -
Enumerable
# sum(init=0) -> object (79.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
... -
Thread
:: Backtrace :: Location # inspect -> String (76.0) -
Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文 字列に変換したオブジェクトを返します。
Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文
字列に変換したオブジェクトを返します。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.inspect
end
# => "path/to/foo.rb:5:in ... -
Thread
:: Backtrace :: Location # to _ s -> String (76.0) -
self が表すフレームを Kernel.#caller と同じ表現にした文字列を返し ます。
self が表すフレームを Kernel.#caller と同じ表現にした文字列を返し
ます。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.to_s
end
# => path/to/foo.rb:5:in `initialize'
# path/to/foo... -
WIN32OLE
_ TYPE # implemented _ ole _ types -> [WIN32OLE _ TYPE] (76.0) -
この型が実装するインターフェイスを取得します。
この型が実装するインターフェイスを取得します。
implemented_ole_typesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスが実装しているすべてのインターフェイスを返します。
@return クラスが実装するすべてのインターフェイスをWIN32OLE_TYPEの
配列として返します。この型がインターフェイスを実装しない場合は、
空配列を返します。
@raise WIN32OLERuntimeError 型属性が取得できない場合に通知します。
tobj = WIN32OLE_TYPE.new('Micro... -
WIN32OLE
_ TYPE # ole _ methods -> [WIN32OLE _ METHOD] (76.0) -
型が持つメソッドのメタデータを取得します。
型が持つメソッドのメタデータを取得します。
@return 型が持つメソッドのメタデータをWIN32OLE_METHODの配列として返します。
メソッドを持たない場合は空配列を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
methods = tobj.ole_methods.map {|m| m.name }
# => ['QueryInterface', 'AddRef', 'Release',..... -
WIN32OLE
_ VARIABLE # variable _ kind -> String (76.0) -
変数の種類(VARKIND)を取得します。
変数の種類(VARKIND)を取得します。
この変数の種類を示す文字列を返します。
@return VARKINDに対応する文字列を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
puts tobj.variables.map {|v| v.variable_kind}.uniq # => CONSTANT
返送値は以下のいずれかとなります。
: PERINSTANCE
インスタンス毎の変数。構造体やユーザ定義体のフィールド。(0)
: STATI... -
WIN32OLE
_ TYPE # default _ ole _ types -> [WIN32OLE _ TYPE] (58.0) -
型が持つデフォルトのインターフェイスを取得します。
型が持つデフォルトのインターフェイスを取得します。
default_ole_typesメソッドは、selfがCoClass(コンポーネントクラス)の場
合、そのクラスが実装しているデフォルトのインターフェイスと、サポートし
ていればデフォルトのソースインターフェイスを返します。
@return デフォルトインターフェイスをWIN32OLE_TYPEの配列として返し
ます。デフォルトインターフェイスは、最大でも、クラス操作用のイ
ンターフェイス(OLEオートメーション用)と、イベント用のソースイ
ンターフェイスの2要素です。デフォルトインターフ... -
WIN32OLE
_ TYPE # source _ ole _ types -> [WIN32OLE _ TYPE] (58.0) -
型が持つソースインターフェイスを取得します。
型が持つソースインターフェイスを取得します。
source_ole_typesメソッドは、selfがCoClass(コンポーネントクラス)の場合、
そのクラスがサポートするすべてのソースインターフェイス(イベントの通知
元となるインターフェイス)を返します。
ActiveXコントロールのようにイベント(WIN32OLE_EVENT)をサポートし
ているコンポーネントクラスの場合は、このメソッドの呼び出しによりイベン
トインターフェイスを調べることが可能です。
@return ソースインターフェイスをWIN32OLE_TYPEの配列として返します。
ソースインターフェイスを... -
WIN32OLE
_ TYPELIB # ole _ classes -> [WIN32OLE _ TYPE] (58.0) -
TypeLibに格納されているすべての型を取得します。
TypeLibに格納されているすべての型を取得します。
TypeLibに格納されている型には、クラス(CoClass——コンポーネントクラス)
やEnum(列挙子)、構造体などがあります。
@return TypeLibに格納されているすべての型をWIN32OLE_TYPEオブジェ
クトの配列として返します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
classes = tlib.ole_types.map{|k| k.name} # => ["Adjustments... -
WIN32OLE
_ TYPELIB # ole _ types -> [WIN32OLE _ TYPE] (58.0) -
TypeLibに格納されているすべての型を取得します。
TypeLibに格納されているすべての型を取得します。
TypeLibに格納されている型には、クラス(CoClass——コンポーネントクラス)
やEnum(列挙子)、構造体などがあります。
@return TypeLibに格納されているすべての型をWIN32OLE_TYPEオブジェ
クトの配列として返します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
classes = tlib.ole_types.map{|k| k.name} # => ["Adjustments... -
WIN32OLE
_ VARIABLE # varkind -> Integer (58.0) -
変数の種類(VARKIND)を取得します。
変数の種類(VARKIND)を取得します。
この変数の種類を示す数値を返します。
@return VARKINDに対応する数値を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
puts tobj.variables.map {|v| v.varkind}.uniq # => 2
数値の意味については、WIN32OLE_VARIABLE#variable_kindの説明を参照してください。 -
WIN32OLE
_ VARIABLE # visible? -> bool (58.0) -
変数の可視性を取得します。
変数の可視性を取得します。
@return publicアクセス可能であれば真を返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'XlSheetType')
puts tobj.variables.map {|v| v.visible?}.uniq # => true