ライブラリ
- ビルトイン (368)
- csv (24)
- delegate (12)
- forwardable (24)
-
irb
/ cmd / pushws (12) -
irb
/ extend-command (12) - mkmf (48)
- monitor (12)
- psych (12)
- readline (108)
-
rexml
/ document (36) - shell (12)
- socket (24)
- thread (38)
クラス
- Array (112)
-
CSV
:: Row (12) -
CSV
:: Table (12) -
IRB
:: ExtendCommand :: PushWorkspace (12) -
Psych
:: Visitors :: YAMLTree (12) -
REXML
:: Parent (36) - Shell (12)
- Socket (12)
- Thread (36)
-
Thread
:: Queue (152) -
Thread
:: SizedQueue (82)
モジュール
- Forwardable (24)
-
IRB
:: ExtendCommandBundle (12) - Kernel (60)
-
Socket
:: Constants (12)
オブジェクト
-
Readline
:: HISTORY (108)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (60)
- ConditionVariable (12)
- DelegateClass (12)
- Marshal フォーマット (12)
- MonitorMixin (12)
-
NEWS for Ruby 3
. 0 . 0 (5) - SizedQueue (12)
-
TCP
_ NOPUSH (24) - add (12)
- append (8)
- clear (12)
- close (20)
- closed? (10)
-
def
_ delegator (12) -
def
_ instance _ delegator (12) -
delete
_ at (12) - deq (24)
- each (12)
- empty? (24)
-
enable
_ config (24) - enq (24)
- execute (12)
-
install
_ extend _ commands (12) - irb (12)
- join (36)
- length (24)
-
num
_ waiting (12) - pop (60)
- prepend (8)
- pushd (6)
- pushdir (6)
-
ruby 1
. 6 feature (12) - shift (60)
- size (24)
- start (12)
- unshift (12)
- value (12)
-
with
_ config (24)
検索結果
先頭5件
-
Thread
:: SizedQueue # deq(non _ block = false) -> object (128.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'......ch{|r|
q.push(r)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
begi... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (128.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'......ch{|r|
q.push(r)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
begi... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (128.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'......ch{|r|
q.push(r)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
begi... -
Array
# append(*obj) -> self (119.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
...れば何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array # => [1, 2, 3, 4, [5, 6], 7, 8]
//}
@see Array#pop, Array#shift, Array#unshift, Array#<<... -
Array
# join(sep = $ , ) -> String (118.0) -
配列の要素を文字列 sep を間に挟んで連結した文字列を返します。
...含むような無限にネストした配列に対しては、以下
のような結果になります。
//emlist[例][ruby]{
ary = [1,2,3]
ary.push ary
p ary # => [1, 2, 3, [...]]
p ary.join # => ArgumentError: recursive array join
//}
@param sep 間に挟む文字列を指定し......を指定した場合に発生します。
@raise ArgumentError 配列要素が自身を含むような無限にネストした配列に対
して join を呼んだ場合に発生します。
//emlist[例][ruby]{
[1, 2, 3].join('-') #=> "1-2-3"
//}
@see Array#*, $,... -
Thread
# join -> self (118.0) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Thread
# join(limit) -> self | nil (118.0) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Thread
# value -> object (118.0) -
スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。
...スレッドの終了を待ち結果を出力する例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| p t.value}
最後の行で... -
Array
# <<(obj) -> self (112.0) -
指定された obj を自身の末尾に破壊的に追加します。
...下のように連続して
書くことができます。
//emlist[例][ruby]{
ary = [1]
ary << 2 << 3 << 4
p ary #=> [1, 2, 3, 4]
//}
@param obj 自身に加えたいオブジェクトを指定します。Array#push と違って引数は一つしか指定できません。
@see Array#push...