るりまサーチ

最速Rubyリファレンスマニュアル検索!
238件ヒット [1-100件を表示] (0.214秒)

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

モジュール

キーワード

検索結果

<< 1 2 3 > >>

Fiber.current -> Fiber (26121.0)

このメソッドが評価されたコンテキストにおける Fiber のインスタンスを返します。

...のメソッドが評価されたコンテキストにおける Fiber のインスタンスを返します。

//emlist[例:][ruby]{
fr = Fiber.new do
Fiber.current
end

fb = fr.resume
p fb.equal?(fr) # => true

p Fiber.current # => #<Fiber:0x91345e4>
p Fiber.current # => #<Fiber:0x91345e4>
//}...

Thread.current -> Thread (26109.0)

現在実行中のスレッド(カレントスレッド)を返します。

...現在実行中のスレッド(カレントスレッド)を返します。

p Thread.current #=> #<Thread:0x4022e6fc run>...

Thread#[](name) -> object | nil (8044.0)

name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。

...のキーを文字列か Symbol で指定します。

//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join
puts "#{th.inspect}: #{th[:name]}"
end

# => #<Thread:0...
...す事に注意してください。

//emlist[][ruby]{
def meth(newvalue)
begin
oldvalue = Thread.current[:name]
Thread.current[:name] = newvalue
yield
ensure
Thread.current[:name] = oldvalue
end
end
//}

この関数に与えるブロックがFiberを切り替える場合は...
...
正しく動作しません。

//emlist[][ruby]{
f = Fiber.new {
meth(1) {
Fiber.yield
}
}
meth(2) {
f.resume
}
f.resume
p Thread.current[:name]
# => nil if fiber-local
# => 2 if thread-local (The value 2 is leaked to outside of meth method.)
//}

Fiber を切り替えても同じ変...

Thread#thread_variable_get(key) -> object | nil (8026.0)

引数 key で指定した名前のスレッドローカル変数を返します。

...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"],...

Thread#set_trace_func(pr) -> Proc | nil (8020.0)

スレッドにトレース用ハンドラを設定します。

...を解除します。

設定したハンドラを返します。

//emlist[例][ruby]{
th = Thread.new do
class Trace
end
2.to_s
Thread.current.set_trace_func nil
3.to_s
end
th.set_trace_func lambda {|*arg| p arg }
th.join

# => ["line", "example.rb", 2, nil, #<Binding:0x00007fc8de87cb08>...
...=> ["line", "example.rb", 5, nil, #<Binding:0x00007fc8de967b08>, nil]
# => ["c-call", "example.rb", 5, :current, #<Binding:0x00007fc8de967798>, Thread]
# => ["c-return", "example.rb", 5, :current, #<Binding:0x00007fc8de9673b0>, Thread]
# => ["c-call", "example.rb", 5, :set_trace_func, #<Binding:0x0...

絞り込み条件を変える

ThreadGroup (8020.0)

スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。

...たすべてのThreadが終了するのを待つ

5.times {
Thread.new { sleep 1; puts "#{Thread.current} finished" }
}

(ThreadGroup::Default.list - [Thread.current]).each {|th| th.join}

puts "all threads finished"

対象の Thread が Thread を起こす可能性...

Data.define(*args) -> Class (8014.0)

Data クラスに新しいサブクラスを作って、それを返します。

...body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end

def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Response(body)
body
in HTTPFetcher::NotFound
:NotFound
end
end

p fetch("http://example.com/") # => "Current time i...

Data.define(*args) {|subclass| block } -> Class (8014.0)

Data クラスに新しいサブクラスを作って、それを返します。

...body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end

def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Response(body)
body
in HTTPFetcher::NotFound
:NotFound
end
end

p fetch("http://example.com/") # => "Current time i...

Thread#thread_variable_set(key, value) (8014.0)

引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。

...り替えても共通で使える事に注意してく
ださい。

//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join # => #<Thread:0x401b3f10 dead>
thr.thread_variables # => [...

Kernel$$SAFE -> Integer (8008.0)

カレントスレッドのセーフレベルを表す整数です。

...スレッドのセーフレベルを表す整数です。

セーフレベルについてはspec/safelevel を参照してください。

Thread.current.safe_level と同じです。
非整数を代入しようとすると TypeError が発生します。

この変数はスレッドローカルで...
...プロセスのセーフレベルを表す整数です。

セーフレベルについてはspec/safelevel を参照してください。

Thread.current.safe_level と同じです。
非整数を代入しようとすると TypeError が発生します。

この変数はグローバルスコープ...

絞り込み条件を変える

Process.exec(command, *args) -> () (8008.0)

カレントプロセスを与えられた外部コマンドで置き換えます。

...からいくつかの環境を引き継ぎます。

@param command 実行する外部コマンド。

@param args command に渡す引数。

exec "echo *" # echoes list of files in current directory
# never get here


exec "echo", "*" # echoes an asterisk
# never get here...

Thread#alive? -> bool (8008.0)

スレッドが「生きている」時、true を返します。

...「生きている」時、true を返します。

例:
thr = Thread.new { }
thr.join # => #<Thread:0x401b3fb0 dead>
Thread.current.alive? # => true
thr.alive? # => false

Thread#status が真を返すなら、このメソッドも真です。

@see Thread#stat...
<< 1 2 3 > >>