種類
- インスタンスメソッド (123)
- 定数 (22)
- クラス (20)
ライブラリ
- ビルトイン (165)
クラス
- Array (58)
- Encoding (22)
- Hash (11)
-
Thread
:: Queue (27) -
Thread
:: SizedQueue (27)
キーワード
- ConditionVariable (9)
-
SJIS
_ SOFTBANK (11) -
SJIS
_ SoftBank (11) - String (11)
- append (7)
- deq (18)
- pop (29)
- prepend (7)
- push (11)
- unshift (11)
検索結果
先頭5件
-
Hash
# shift -> [object , object] | nil (26349.0) -
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、 [key, value]という配列として返します。
...ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、
[key, value]という配列として返します。
shiftは破壊的メソッドです。selfは要素を取り除かれた残りのハッシュに変更されます。
ハッシュが空の場合、デフ......(Ruby 3.2を予定)ではデフォルト値に関わらず nil になる予定なので、デフォルト値を設定しているハッシュで
shift を使う場合は注意してください。(16908)
//emlist[例][ruby]{
h = {:ab => "some" , :cd => "all"}
p h.shift #=> [:ab, "some......"]
p h.shift #=> [:cd, "all"]
p h #=> {}
p h.shift #=> nil
h1 = Hash.new("default value")
p h1 #=> {}
p h1.shift #=> "default value"
h2 = Hash.new {|*arg| arg}
p h2 #=> {}
p h2.shift #=>... -
Array
# shift -> object | nil (26220.0) -
配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...@raise ArgumentError 引数に負の数を指定した場合に発生します。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4]
p a.shift #=> 0
p a #=> [1, 2, 3, 4]
p [].shift #=> nil
p [].shift(1) #=> []
//}
@see Array#push, Array#pop, Array#unshift... -
Thread
:: Queue # shift(non _ block = false) -> object (23201.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
...します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts r......|r|
q.push(r)
}
th1.join
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
en... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (23201.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...ようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop......1
# 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)
}
begin
th1.join
q.pop(true)
rescue => e
p e... -
Array
# unshift(*obj) -> self (14206.0) -
指定された obj を引数の最後から順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。
...obj を引数の最後から順番に配列の先頭に挿入します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
arr = [1,2,3]
arr.unshift 0
p arr #=> [0, 1, 2, 3]
arr.unshift......[0]
p arr #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr #=> [1, 2, [0], 0, 1, 2, 3]
//}
@see Array#push, Array#pop, Array#shift... -
Encoding
:: SJIS _ SOFTBANK -> Encoding (14106.0) -
SJIS-SoftBank エンコーディングです。
...SJIS-SoftBank エンコーディングです。
Shift_JIS, CP932 の亜種です。
SoftBank の携帯電話で使われる絵文字が含まれています。
@see http://creation.mb.softbank.jp/mc/tech/tech_pic/pic_index.html... -
Encoding
:: SJIS _ SoftBank -> Encoding (14106.0) -
SJIS-SoftBank エンコーディングです。
...SJIS-SoftBank エンコーディングです。
Shift_JIS, CP932 の亜種です。
SoftBank の携帯電話で使われる絵文字が含まれています。
@see http://creation.mb.softbank.jp/mc/tech/tech_pic/pic_index.html... -
Thread
:: ConditionVariable (14018.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...である状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。......以上のような状況を解決するのが Condition Variable です。
スレッド a で条件(リソースが空いているかなど)が満たされるまで wait メソッドで
スレッドを止めます。他のスレッド b において条件が満たされたなら signal
メソッ......。
mutex = Mutex.new
cv = ConditionVariable.new
a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}
b = Thread.start {
mutex.synchronize {... -
Array
# unshift(*obj) -> self (11206.0) -
指定された obj を引数の最後から順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。
...obj を引数の最後から順番に配列の先頭に挿入します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
arr = [1,2,3]
arr.unshift 0
p arr #=> [0, 1, 2, 3]
arr.unshift......[0]
p arr #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr #=> [1, 2, [0], 0, 1, 2, 3]
//}
@see Array#push, Array#pop, Array#shift... -
Array
# append(*obj) -> self (8106.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
...指定された 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
# pop -> object | nil (8106.0) -
自身の末尾から要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...例][ruby]{
array = [1, [2, 3], 4]
p array.pop # => 4
p array.pop # => [2, 3]
p array # => [1]
p array.pop # => 1
p array.pop # => nil
p array # => []
array = [1, 2, 3]
p array.pop(2) #=> [2, 3]
p array #=> [1]
//}
@see Array#push, Array#shift, Arra...