60件ヒット
[1-60件を表示]
(0.028秒)
別のキーワード
クラス
- Hash (8)
- Random (7)
- Thread (22)
- TracePoint (11)
モジュール
-
RubyVM
:: MJIT (12)
キーワード
-
handle
_ interrupt (11) - new (19)
- pause (6)
-
pending
_ interrupt? (11) - resume (6)
- urandom (7)
検索結果
先頭5件
-
TracePoint
. new(*events) {|obj| . . . } -> TracePoint (27.0) -
新しい TracePoint オブジェクトを作成して返します。トレースを有効 にするには TracePoint#enable を実行してください。
...トに関連しない情報を取得するメソッドを実行した場合には
RuntimeError が発生します。
//emlist[例][ruby]{
TracePoint.trace(:line) do |tp|
p tp.raised_exception
end
# => RuntimeError: 'raised_exception' not supported by this event
//}
イベントフックの外......関連する情報を取得するメソッ
ドを実行した場合には RuntimeError が発生します。
//emlist[例][ruby]{
TracePoint.trace(:line) do |tp|
$tp = tp
end
$tp.lineno # => access from outside (RuntimeError)
//}
他のスレッドから参照する事も禁じられています... -
Thread
. handle _ interrupt(hash) { . . . } -> object (21.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
...イミングを制御する例
th = Thread.new do
Thread.handle_interrupt(RuntimeError => :never) {
begin
# 安全にリソースの割り当てが可能
Thread.handle_interrupt(RuntimeError => :immediate) {
# ...
}
ensure
# 安全にリ......ソースの解放が可能
end
}
end
Thread.pass
# ...
th.raise "stop"
RuntimeError を無視(延期)している間はリソースの割り当てや ensure
節でリソースの解放を安全に行う事ができます。
==== TimeoutError 対策
例:TimeoutError 発生のタ... -
RubyVM
:: MJIT . resume -> bool (15.0) -
RubyVM::MJIT.pause で一時停止した JIT を再開します。
...。
@return 再開したときは true を、すでに動いているときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@raise RuntimeError JIT の再開に失敗した時に発生します。
@see RubyVM::MJIT.enabled?, RubyVM::MJIT.pause... -
Thread
. pending _ interrupt?(error = nil) -> bool (15.0) -
非同期割り込みのキューが空かどうかを返します。
...Thread.handle_interrupt(Object => :immediate) {
Thread.pass
}
end
=== 使い方
th = Thread.new{
Thread.handle_interrupt(RuntimeError => :on_blocking){
while true
...
# ここまでで割り込みが発生しても安全な状態になった。
if......ッド停止。
この例は以下のように記述する事もできます。
flag = true
th = Thread.new{
Thread.handle_interrupt(RuntimeError => :on_blocking){
while true
...
# ここまでで割り込みが発生しても安全な状態になった。
bre... -
Hash
. new(ifnone = nil) -> Hash (9.0) -
空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
...#=> ["bar"]
p h[1] #=> ["bar"]
p h[2] #=> ["bar"]
p h[2].object_id #=> 6127150
p h #=> {}
h = Hash.new([].freeze)
h[0] += [0] #破壊的でないメソッドはOK
h[1] << 1
# エラー: can't modify frozen Array (RuntimeError)
//}... -
Random
. urandom(size) -> String (9.0) -
プラットフォームの提供する機能を使って、文字列を返します。
...イト数で指定します。
@return 返り値はバイナリ形式で、暗号的に安全な擬似乱数だと期待できます。
@raise RuntimeError プラットフォームの提供する機能の準備に失敗した場合に発生します。
2017年の時点で、Linuxのmanpage(random(... -
RubyVM
:: MJIT . pause(wait: true) -> bool (9.0) -
MJIT を一時停止します。
...am wait 真のときは JIT キューが空になるまで待ちます。
@return 停止したときは true を、すでに停止していたときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@see RubyVM::MJIT.enabled?, RubyVM::MJIT.resume... -
Hash
. new {|hash , key| . . . } -> Hash (4.0) -
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。
空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。
値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、その結果を返します。
ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。
@raise ArgumentError ブロックと通常引数を同時に与えると発生します。
//emlist[例][ruby]{
# ブロックではないデフォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new...