89件ヒット
[1-89件を表示]
(0.133秒)
種類
- インスタンスメソッド (49)
- 特異メソッド (29)
- ライブラリ (11)
モジュール
-
RubyVM
:: MJIT (18)
検索結果
先頭5件
-
Fiber
# resume(*arg = nil) -> object (21353.0) -
自身が表すファイバーへコンテキストを切り替えます。 自身は resume を呼んだファイバーの子となります。
...バーへコンテキストを切り替えます。
自身は resume を呼んだファイバーの子となります。
ただし、Fiber#transfer を呼び出した後に resume を呼び出す事はでき
ません。
@param arg self が表すファイバーに渡したいオブジェクトを......ます。
@return コンテキストの切り替えの際に Fiber.yield に与えられた引数
を返します。ブロックの終了まで実行した場合はブロックの評価結果
を返します。
@raise FiberError 自身が既に終了している場合、コンテ...... resume を
呼んだファイバーの親かその祖先である場合に発生します。
また、Fiber#transfer を呼び出した後に resume を
呼び出した場合に発生します。
//emlist[例:][ruby]{
f = Fiber.new do
Fiber.... -
RubyVM
:: MJIT . resume -> bool (21201.0) -
RubyVM::MJIT.pause で一時停止した JIT を再開します。
...RubyVM::MJIT.pause で一時停止した JIT を再開します。
@return 再開したときは true を、すでに動いているときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@raise RuntimeError JIT の再開に失敗した時に発......生します。
@see RubyVM::MJIT.enabled?, RubyVM::MJIT.pause... -
Fiber
# alive? -> bool (12218.0) -
ファイバーが「生きている」時、真を返します。
...* まだ Fiber#resume されていない
* ブロック内の評価が終了していない (Fiber.yield が呼ばれていない)
//emlist[例:][ruby]{
fr = Fiber.new{
Fiber.yield
"a"
}
p fr.alive? # => true
fr.resume # Fiber.yieldで戻ってくる
p fr.alive? # => true
fr.resume # ブロ......ック内の評価を終えて戻ってくる
p fr.alive? # => false
//}... -
Fiber
. yield(*arg = nil) -> object (12218.0) -
現在のファイバーの親にコンテキストを切り替えます。
...際に Fiber#resume に与えられた引数を yield メソッドは返します。
@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。
@raise FiberError Fiber でのルートファイバーで呼ばれた場合に発生します。
//emlist[例:][rub......y]{
a = nil
f = Fiber.new do
a = Fiber.yield()
end
f.resume()
f.resume(:foo)
p a #=> :foo
//}... -
Thread
# thread _ variable _ get(key) -> object | nil (12206.0) -
引数 key で指定した名前のスレッドローカル変数を返します。
...変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。
例:
Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ロー......ル
Fiber.new {
Fiber.yield [
Thread.current.thread_variable_get("foo"), # スレッドローカル
Thread.current["foo"], # Fiber ローカル
]
}.resume
}.join.value # => ['bar', nil]
この例の "bar" は Thread#thread_variable_get に......より得られ
た値で、nil はThread#[] により得られた値です。
@see Thread#thread_variable_set, Thread#[]
@see https://magazine.rubyist.net/articles/0041/0041-200Special-note.html... -
RubyVM
:: MJIT . enabled? -> bool (9106.0) -
JIT が有効かどうかを返します。
...JIT が有効かどうかを返します。
@see RubyVM::MJIT.pause, RubyVM::MJIT.resume... -
Fiber
# raise(exception , message = nil , backtrace = nil) -> object (6212.0) -
selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
...selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。
Fiber.yield が呼ばれていないかファイバーがすでに終了している場合、
FiberError が発生します。
引数を渡さない場合、RuntimeError が発生します。......ssage 引数を渡した場合、message 引数をメッセージとした RuntimeError
が発生します。
その他のケースでは、最初の引数は Exception か Exception
のインスタンスを返す exception メソッドを持ったオブジェクトである
必要があります......す。
@param exception 発生させる例外です。
@param backtrace 例外発生時のスタックトレースです。文字列の配列で指定します。
//emlist[例][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}
//emlist[ファイバー内... -
RubyVM
:: MJIT . pause(wait: true) -> bool (3206.0) -
MJIT を一時停止します。
...MJIT を一時停止します。
@param wait 真のときは JIT キューが空になるまで待ちます。
@return 停止したときは true を、すでに停止していたときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@see RubyV......M::MJIT.enabled?, RubyVM::MJIT.resume... -
Thread
# [](name) -> object | nil (212.0) -
name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。
...取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。
@param name スレッド固有データのキーを文字列か Symbol で指定します。
//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.curr......= "C" }
].each do |th|
th.join
puts "#{th.inspect}: #{th[:name]}"
end
# => #<Thread:0x00000002a54220 dead>: A
# => #<Thread:0x00000002a541a8 dead>: B
# => #<Thread:0x00000002a54130 dead>: C
//}
Thread#[] と Thread#[]= を用いたスレッド固有の変数は
Fiber を切り替えると異......value
yield
ensure
Thread.current[:name] = oldvalue
end
end
//}
この関数に与えるブロックがFiberを切り替える場合は動的スコープとしては
正しく動作しません。
//emlist[][ruby]{
f = Fiber.new {
meth(1) {
Fiber.yield
}
}
meth(2) {
f.resume... -
debug (36.0)
-
Ruby デバッガです。Ruby スクリプトのソースコードデバッグに使用します。
...た、Emacs を使用したインタフェース rubydb3x.el が
https://github.com/ruby/elisp にあるので、活用してください。
=== 使い方
$ ruby -rdebug foo.rb
または、Emacs から
M-x load-library rubydb3x.el
M-x rubydb
=== デバッグコマンド
以下は、......ます。
ここに挙げたもの以外を入力した場合、その入力を ruby の式として評価します。
: break
: break [<file>:]<position>|<class>:<method>
ブレークポイントを設定します。引数を省略した場合設定したブレークポ
イントを表示......thread <nnn>
: thread sw[itch] <nnn>
実行するスレッドを <nnn> に切替えます。
: thread stop <nnn>
スレッド <nnn> を停止します。
: thread resume <nnn>
スレッド <nnn> を再開します。
: pp <expression>
ruby の式 <expression> の結果を見やす...