るりまサーチ

最速Rubyリファレンスマニュアル検索!
78件ヒット [1-78件を表示] (0.046秒)
トップページ > クエリ:nil[x] > クエリ:end[x] > クエリ:resume[x]

別のキーワード

  1. _builtin nil?
  2. nilclass nil?
  3. object nil?
  4. _builtin nil
  5. object nil

ライブラリ

クラス

キーワード

検索結果

Fiber#resume(*arg = nil) -> object (18260.0)

自身が表すファイバーへコンテキストを切り替えます。 自身は resume を呼んだファイバーの子となります。

...自身が表すファイバーへコンテキストを切り替えます。
自身は resume を呼んだファイバーの子となります。

ただし、Fiber#transfer を呼び出した後に resume を呼び出す事はでき
ません。

@param arg self が表すファイバーに渡した...
...が表すスレッド間をまたがる場合、自身が resume
呼んだファイバーの親かその祖先である場合に発生します。
また、Fiber#transfer を呼び出した後に resume
呼び出した場合に発生し...
...ます。

//emlist[例:][ruby]{

f = Fiber.new do
Fiber.yield(:hoge)
:fuga
end


p f.resume() #=> :hoge
p f.resume() #=> :fuga
p f.resume() #=> FiberError: dead fiber called
//}...

NEWS for Ruby 2.7.0 (318.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...p b #=> 1
p c #=> [2, 3]
end

//}

//emlist[][ruby]{
case {a: 0, b: 1}
in {a: 0, x: 1}
:unreachable
in {a: 0, b: var}
p var #=> 1
end

//}

//emlist[][ruby]{
case -1
in 0 then :unreachable
in 1 then :unreachable
end
#=> NoMatchingPatternError
//}

//emlist{
json = <<END
{
"name": "Alice",
"a...
...ましたが、
再び許容されるようになりました。 15658

//emlist[][ruby]{
def foo(**kw); p kw; end; foo("str" => 1) #=> {"str"=>1}
//}

* メソッド定義で**nilと書くことで、このメソッドがキーワードを
受け取らないことを明示できるよう...
...ke(3).force
# => 1:a
# 2:b
# 3:c
//}

* Fiber
* 新規メソッド
* Fiber#raiseメソッドが追加され、Fiber#resumeのように
resume
して、さらに例外を発生させます。 10344

* File
* 新規メソッド
* パスが絶対パスかどうか...

Fiber#raise(exception, message = nil, backtrace = nil) -> object (226.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end

:exit
end


p f.resume # => :loop
p f.raise StopIter...

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

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

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

@param name スレッド固有データのキーを文字列か Symbol で指定します。

//emlist[例][ruby]{
[
Thread.new { T...
...ad.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "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...
...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...

Fiber.yield(*arg = nil) -> object (131.0)

現在のファイバーの親にコンテキストを切り替えます。

...#resume に与えられた引数を yield メソッドは返します。

@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。

@raise FiberError Fiber でのルートファイバーで呼ばれた場合に発生します。


//emlist[例:][ruby]{
a = nil...
...f = Fiber.new do
a = Fiber.yield()
end


f.resume()
f.resume(:foo)

p a #=> :foo
//}...

絞り込み条件を変える

Fiber (120.0)

ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。

...定しない限り
ファイバーのコンテキストは切り替わりません。
またファイバーは親子関係を持ちます。Fiber#resume を呼んだファイバーが親になり
呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば
自分...
...外が伝播します。

//emlist[例:][ruby]{
f = Fiber.new do
raise StandardError, "hoge"
end


begin
f.resume # ここでも StandardError が発生する。
rescue => e
p e.message #=> "hoge"
end

//}

=== ショートチュートリアル

ファイバーは処理のあるポイントで...
...i)
}
end

end


g = enum2gen(1..100)

p g.resume #=> 1
p g.resume #=> 2
p g.resume #=> 3
//}

=== 注意

Thread クラスが表すスレッド間をまたがるファイバーの切り替えはできません。
例外 FiberError が発生します。

//emlist[例:][ruby]{
f = nil
Thread....

NEWS for Ruby 3.1.0 (96.0)

NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ッドに渡されるだけの場合は、ブロックの引数を無名にできるようになりました。 11256

//emlist{
def foo(&)
bar(&)
end

//}

* ピン演算子に式を書けるようになりました。 17411

//emlist{
Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3...
....com/ruby/ruby/pull/1509

//emlist[Enumerable#each_cons Enumerable#each_slice][ruby]{
[1, 2, 3].each_cons(2){}
# 3.0 => nil
# 3.1 => [1, 2, 3]

[1, 2, 3].each_slice(2){}
# 3.0 => nil
# 3.1 => [1, 2, 3]
//}

* Enumerator::Lazy
* 新規メソッド
* Enumerator::Lazy#compact が追加さ...
...* gdbm
* tracer

* Coverageの計測が一時停止をサポートされるようになりました。 Coverage.suspendで計測を一時停止し、Coverage.resumeで再開することができます。詳細は 18176 を参照してください。
* Random::Formatterは random/formatte...

Fiber.new {|obj| ... } -> Fiber (34.0)

与えられたブロックとともにファイバーを生成して返します。 ブロックは Fiber#resume に与えられた引数をその引数として実行されます。

...r#resume に与えられた引数をその引数として実行されます。

ブロックが終了した場合は親にコンテキストが切り替わります。
その時ブロックの評価値が返されます。

//emlist[例:][ruby]{
a = nil
f = Fiber.new do |obj|
a = obj
:hoge
end
...
...b = f.resume(:foo)
p a #=> :foo
p b #=> :hoge
//}...

Fiber#raise -> object (26.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end

:exit
end


p f.resume # => :loop
p f.raise StopIter...

Fiber#raise(message) -> object (26.0)

selfが表すファイバーが最後に Fiber.yield を呼んだ場所で例外を発生させます。

...][ruby]{
f = Fiber.new { Fiber.yield }
f.resume
f.raise "Error!" # => Error! (RuntimeError)
//}

//emlist[ファイバー内のイテレーションを終了させる例][ruby]{
f = Fiber.new do
loop do
Fiber.yield(:loop)
end

:exit
end


p f.resume # => :loop
p f.raise StopIter...

絞り込み条件を変える