別のキーワード
クラス
- Array (88)
- Thread (5)
-
Thread
:: Queue (48) -
Thread
:: SizedQueue (36)
キーワード
-
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) - Queue (12)
- SizedQueue (12)
- append (8)
- deq (24)
-
ignore
_ deadlock= (5) - irb (12)
-
num
_ waiting (12) - popen3 (24)
- prepend (8)
- push (12)
-
rb
_ ary _ pop (12) - readline (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - shift (48)
- unshift (12)
検索結果
先頭5件
-
Array
# pop -> object | nil (18138.0) -
自身の末尾から要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...場合に発生します。
//emlist[例][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]
/... -
Array
# pop(n) -> Array (18138.0) -
自身の末尾から要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
...場合に発生します。
//emlist[例][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]
/... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (15137.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
...mlist[例][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)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlist[例: nonblock = true][ruby]{
require......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
p e.message
end
# => resource1
# resource2
# resource3
# => #<ThreadError: queue empty>
# => "queue empty"
//}
@see Thread::Queue#pop... -
Thread
:: Queue # pop(non _ block = false) -> object (15131.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
...発生します。
//emlist[例][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)
}
th1.join
//}
//emlist[例: nonblock = true][ruby]{
require 'thread'
q = Queue.ne......w
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
end
# => resource1
# resource2
# resource3
# => #<ThreadError: queue empty>
# => "queue empty"
//}... -
Open3
. # popen3(*cmd) -> [IO , IO , IO , Thread] (6124.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
...イプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
//emlist[][ruby]{
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
//}
@param cmd 実行するコマンドを指定します。
@return ブロックを指......行し、最後にパイプ
を close します。この場合はブロックの最後の式の結果を返します。
//emlist[][ruby]{
require 'open3'
Open3.popen3("read stdin; echo stdout; echo stderr >&2") {|stdin, stdout, stderr, wait_thr|
stdin.puts "stdin"
stdin.close # または c......][ruby]{
require 'open3'
Open3.popen3({"foo" => "1", "bar" => "2"}, "env") {|i, o, e, t|
i.close
print o.read
}
#=> ...
# foo=1
# bar=2
//}
Kernel.#spawnと同様に、引数リストの最後にオプションをハッシュ形式
で指定する事ができます。
//emlist[例][ruby]{... -
Open3
. # popen3(*cmd) {|stdin , stdout , stderr , wait _ thr| . . . } -> () (6124.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
...イプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
//emlist[][ruby]{
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
//}
@param cmd 実行するコマンドを指定します。
@return ブロックを指......行し、最後にパイプ
を close します。この場合はブロックの最後の式の結果を返します。
//emlist[][ruby]{
require 'open3'
Open3.popen3("read stdin; echo stdout; echo stderr >&2") {|stdin, stdout, stderr, wait_thr|
stdin.puts "stdin"
stdin.close # または c......][ruby]{
require 'open3'
Open3.popen3({"foo" => "1", "bar" => "2"}, "env") {|i, o, e, t|
i.close
print o.read
}
#=> ...
# foo=1
# bar=2
//}
Kernel.#spawnと同様に、引数リストの最後にオプションをハッシュ形式
で指定する事ができます。
//emlist[例][ruby]{... -
VALUE rb
_ ary _ pop(VALUE ary) (6118.0) -
配列 ary の末尾の要素をとりのぞき返します。 空配列のときは Qnil を返します。
...配列 ary の末尾の要素をとりのぞき返します。
空配列のときは Qnil を返します。
対応するRubyコード
val = ary.pop
使用例
last_error = rb_ary_pop(err_ary);
VALUE str = rb_funcall(last_error, rb_intern("to_s"), 0);... -
ruby 1
. 6 feature (5167.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) ->......EWOULDBLOCK
=> ruby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> ruby 1.6.8 (2003-02-13) [i......れたスレッドの状態がおかしくなることがありま
した((<ruby-talk:40337>)), ((<ruby-core:00019>))
: 2002-09-11: Queue#((<Queue/pop>))
Queue#pop に競合状態の問題がありました ((<ruby-dev:17223>))
: 2002-09-11: SizedQueue.new
引数に 0 以下を受けつけ... -
ruby 1
. 8 . 4 feature (4493.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。......以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]:......ro Matsumoto <matz@ruby-lang.org>
#
# * array.c (rb_ary_fill): should adjust array length correctly when
# an array is expanded in the fill process. [ruby-core:06625]
Arrayに対してfillとpopを繰り返すとSEGVするバグを修正しました。((<ruby-core:06625>))
: St...
