種類
- インスタンスメソッド (19)
- 特異メソッド (8)
- クラス (3)
- モジュール関数 (2)
ライブラリ
- ビルトイン (32)
クラス
- Array (6)
- Encoding (2)
-
Enumerator
:: Lazy (2) - Object (1)
- SignalException (3)
- String (2)
- Thread (1)
- ThreadGroup (3)
モジュール
- Enumerable (6)
- Process (1)
- Signal (2)
キーワード
- ConditionVariable (1)
- SizedQueue (1)
- ThreadGroup (1)
- add (1)
- crypt (1)
-
each
_ cons (2) -
each
_ slice (2) - exec (1)
-
name
_ list (1) - new (4)
- pack (2)
- product (2)
-
respond
_ to? (1) - signame (1)
- unpack (1)
- zip (6)
検索結果
先頭5件
-
Encoding
. list -> [Encoding] (78340.0) -
現在ロードされているエンコーディングのリストを返します。
現在ロードされているエンコーディングのリストを返します。
//emlist[例][ruby]{
Encoding.list
# => [#<Encoding:ASCII-8BIT>, #<Encoding:EUC-JP>,
# #<Encoding:Shift_JIS>, #<Encoding:UTF-8>,
# #<Encoding:ISO-2022-JP (dummy)>]
Encoding.find("US-ASCII")
# => #<Encoding:US-ASCII>
Encoding.list
# => [#<Encoding:ASCII-8BIT>, #<... -
Signal
. # list -> Hash (78322.0) -
シグナル名とシグナル番号を対応づけた Hash オブジェクトを返し ます。
シグナル名とシグナル番号を対応づけた Hash オブジェクトを返し
ます。
例:
p Signal.list # => {"WINCH"=>28, "PROF"=>27, ...}
@see Signal.#signame -
Thread
. list -> [Thread] (78322.0) -
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド
も要素に含まれます。
Thread.new do
sleep
end
sleep 0.1
p Thread.list #=> [#<Thread:0x40377a54 sleep>, #<Thread:0x4022e6fc run>] -
ThreadGroup
# list -> [Thread] (78322.0) -
self に属するスレッドの配列を返します。 version 1.8 では、aborting 状態であるスレッド も要素に含まれます。つまり「生きている」スレッドの配列を返します。
self に属するスレッドの配列を返します。
version 1.8 では、aborting 状態であるスレッド
も要素に含まれます。つまり「生きている」スレッドの配列を返します。
//emlist[例][ruby]{
ThreadGroup::Default.list # => [#<Thread:0x00007f8f13867078 run>]
//} -
Encoding
. name _ list -> [String] (42322.0) -
利用可能なエンコーディングの名前を文字列の配列で返します。
利用可能なエンコーディングの名前を文字列の配列で返します。
//emlist[例][ruby]{
p Encoding.name_list
#=> ["US-ASCII", "ASCII-8BIT", "UTF-8",
# "ISO-8859-1", "Shift_JIS", "EUC-JP",
# "Windows-31J",
# "BINARY", "CP932", "eucJP", ...]
//} -
Enumerable
# each _ cons(n) {|list| . . . } -> nil (24304.0) -
要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。
要素を重複ありで n 要素ずつに区切り、
ブロックに渡して繰り返します。
ブロックを省略した場合は重複ありで
n 要素ずつ繰り返す Enumerator を返します。
@param n ブロックに渡す要素の数です。正の整数を与えます。
要素数より大きな数を与えると、ブロックは一度も実行されません。
//emlist[例][ruby]{
(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
# [6, 7,... -
Enumerable
# each _ slice(n) {|list| . . . } -> nil (24304.0) -
n 要素ずつブロックに渡して繰り返します。
n 要素ずつブロックに渡して繰り返します。
要素数が n で割り切れないときは、最後の回だけ要素数が減ります。
ブロックを省略した場合は
n 要素ずつ繰り返す Enumerator を返します。
@param n 区切る要素数を示す整数です。
//emlist[例][ruby]{
(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]
//}
@see Enumerable#each_cons -
Array
# product(*lists) -> Array (24301.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
//emlist[例][ruby]{
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].prod... -
Array
# product(*lists) { |e| . . . } -> self (24301.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
//emlist[例][ruby]{
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].prod... -
Array
# zip(*lists) -> [[object]] (24301.0) -
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の... -
Array
# zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (24301.0) -
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の... -
Enumerable
# zip(*lists) -> [[object]] (24301.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3,... -
Enumerable
# zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (24301.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3,... -
Enumerator
:: Lazy # zip(*lists) -> Enumerator :: Lazy (24301.0) -
Enumerable#zip と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#zip と同じですが、配列ではなくEnumerator::Lazy を返します。
ただし一貫性のため、ブロック付きで呼び出した場合は Enumerable#zip と
同じ挙動になります。
//emlist[例][ruby]{
1.step.lazy.zip(('a'..'z').cycle)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:zip(#<Enumerator: "a".."z":cycle>)>
1.step.lazy.zip(('a'..'z').cycle)... -
Enumerator
:: Lazy # zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (24301.0) -
Enumerable#zip と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#zip と同じですが、配列ではなくEnumerator::Lazy を返します。
ただし一貫性のため、ブロック付きで呼び出した場合は Enumerable#zip と
同じ挙動になります。
//emlist[例][ruby]{
1.step.lazy.zip(('a'..'z').cycle)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:zip(#<Enumerator: "a".."z":cycle>)>
1.step.lazy.zip(('a'..'z').cycle)... -
Object
# respond _ to?(name , include _ all = false) -> bool (24055.0) -
オブジェクトがメソッド name を持つとき真を返します。
オブジェクトがメソッド name を持つとき真を返します。
オブジェクトが メソッド name を持つというのは、
オブジェクトが メソッド name に応答できることをいいます。
Windows での Process.fork や GNU/Linux での File.lchmod の
ような NotImplementedError が発生する場合は false を返します。
※ NotImplementedError が発生する場合に false を返すのは
Rubyの組み込みライブラリや標準ライブラリなど、C言語で実装されているメソッドのみです。
Rubyで実装されたメソッドで N... -
SignalException
. new(sig _ name) -> SignalException (24055.0) -
引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。
引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。
引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。
@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ
かで指定します。
@param sig_number シグナル番号を指定します。整数以外のオブジェクトを指
定した場合は to_int メソッドによる暗黙の型変換を試み
ます。
//emlist[例][rub... -
SignalException
. new(sig _ number) -> SignalException (24055.0) -
引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。
引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。
引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。
@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ
かで指定します。
@param sig_number シグナル番号を指定します。整数以外のオブジェクトを指
定した場合は to_int メソッドによる暗黙の型変換を試み
ます。
//emlist[例][rub... -
SignalException
. new(sig _ number , sig _ name) -> SignalException (24055.0) -
引数で指定したシグナルに関する SignalException オブジェクトを生成して返 します。
引数で指定したシグナルに関する SignalException オブジェクトを生成して返
します。
引数は Signal.#list に含まれるもののいずれかを指定する必要があり
ます。
@param sig_name シグナル名を Symbol オブジェクト、文字列のいずれ
かで指定します。
@param sig_number シグナル番号を指定します。整数以外のオブジェクトを指
定した場合は to_int メソッドによる暗黙の型変換を試み
ます。
//emlist[例][rub... -
ThreadGroup
# add(thread) -> self (24055.0) -
スレッド thread が属するグループを自身に変更します。
スレッド thread が属するグループを自身に変更します。
@param thread 自身に加えたいスレッドを指定します。
@raise ThreadError 自身が freeze されているか enclose されている場合に、発生します。また引数 thread が属する ThreadGroup が freeze されているか enclose されている場合にも発生します。
//emlist[例][ruby]{
puts "Initial group is #{ThreadGroup::Default.list}"
# => Initial group is [#<Thread... -
Array
# pack(template) -> String (24037.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# pack(template , buffer: String . new) -> String (24037.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
String
# unpack(template) -> Array (24037.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大... -
ThreadGroup (24037.0)
-
スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。
スレッドグループを表すクラスです。グループに属する Thread をまとめて
操作することができます。
Thread は必ずいずれかひとつのスレッドグループに属します。
生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。
メインスレッドはデフォルトでは ThreadGroup::Default に属します。
: 例:
生成したすべてのThreadが終了するのを待つ
5.times {
Thread.new { sleep 1; puts "#{Thread.current} finished" }
}
... -
Process
. exec(command , *args) -> () (24019.0) -
カレントプロセスを与えられた外部コマンドで置き換えます。
カレントプロセスを与えられた外部コマンドで置き換えます。
=== 引数の解釈
引数が一つだけ与えられた場合、command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
引数が複数与えられた場合、第 2 引数以降は command に直接渡され、
インタプリタから直接実行されます。
第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動する
プログラムのパスで、第 2 要素が「みせかけ... -
Signal
. # signame(signo) -> String | nil (24019.0) -
引数で指定されたシグナル番号をシグナル名に変換して返します。 対応するシグナル番号が存在しない場合は nil を返します。
引数で指定されたシグナル番号をシグナル名に変換して返します。
対応するシグナル番号が存在しない場合は nil を返します。
Signal.trap("INT") { |signo| puts Signal.signame(signo) }
Process.kill("INT", 0)
# => INT
@see Signal.#list -
String
# crypt(salt) -> String (24019.0) -
self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。
self と salt から暗号化された文字列を生成して返します。
salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、
2 バイト以上の文字列を指定します。
暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、
self を知っている者のみが同じ暗号化された文字列を生成できます。
このことから self を知っているかどうかの認証に使うことが出来ます。
salt には、以下の様になるべくランダムな文字列を選ぶべきです。
他にも 29297 などがあります。
注意:
* Ruby 2.6 から非推奨になったため、引き続き... -
Thread
:: ConditionVariable (24019.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
Thread
:: SizedQueue (24019.0) -
サイズの最大値を指定できる Thread::Queue です。
サイズの最大値を指定できる Thread::Queue です。
=== 例
283 より。q をサイズ 1 の SizedQueue オブジェクトに
することによって、入力される行と出力される行が同じ順序になります。
q = [] にすると入力と違った順序で行が出力されます。
require 'thread'
q = SizedQueue.new(1)
th = Thread.start {
while line = q.pop
print line
end
}
while l = gets
q.push(l)
end
... -
ThreadGroup
. new -> ThreadGroup (24019.0) -
新たな ThreadGroup を生成して返します。
新たな ThreadGroup を生成して返します。
//emlist[例][ruby]{
thread_group = ThreadGroup.new
thread_group.add Thread.new { sleep 0.1; Thread.new { sleep 1 }; sleep 1 }
thread_group.add Thread.new { sleep 2 }
sleep 0.5
thread_group.list # => [#<Thread:0x007fc6f1842d70 sleep>, #<Thread:0x007fc6f1842c80 sleep>, #<Th... -
Enumerable
# each _ cons(n) -> Enumerator (24004.0) -
要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。
要素を重複ありで n 要素ずつに区切り、
ブロックに渡して繰り返します。
ブロックを省略した場合は重複ありで
n 要素ずつ繰り返す Enumerator を返します。
@param n ブロックに渡す要素の数です。正の整数を与えます。
要素数より大きな数を与えると、ブロックは一度も実行されません。
//emlist[例][ruby]{
(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
# [6, 7,... -
Enumerable
# each _ slice(n) -> Enumerator (24004.0) -
n 要素ずつブロックに渡して繰り返します。
n 要素ずつブロックに渡して繰り返します。
要素数が n で割り切れないときは、最後の回だけ要素数が減ります。
ブロックを省略した場合は
n 要素ずつ繰り返す Enumerator を返します。
@param n 区切る要素数を示す整数です。
//emlist[例][ruby]{
(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]
//}
@see Enumerable#each_cons