るりまサーチ

最速Rubyリファレンスマニュアル検索!
48件ヒット [1-48件を表示] (0.010秒)
トップページ > クエリ:on[x] > ライブラリ:continuation[x]

別のキーワード

  1. optparse on
  2. optionparser on
  3. tracer on
  4. thread abort_on_exception
  5. socket udp_server_loop_on

クラス

モジュール

キーワード

検索結果

Continuation (12002.0)

継続を表すクラスです。

...スです。

Kernel.#callcc { |cont| ... } の呼び出し
は、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶
してブロックを実行します。cont は、Continuation クラスのインスタ
ンスで、Continuation#call メソッドを実行す...
...るこ
とでいつでも記憶した状態を継続することができます。

C 言語の setjmp()/longjmp() がわかる人は
setjmp() == callcc {|c| }
longjmp() == c.call
と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深く
なる方向...
...という違いがあります)

callcc() は、ブロックの戻り値を返しますが、Continuation#call(args)
が呼び出されたときは args を返します。

例:

以下は、Continuationによる無限ループの例

def LOOP
c = nil
yield callcc {|cnt| c = cnt; true...

Continuation#[](*ret) -> () (6002.0)

self が記憶した状態を継続します。引数は そのまま Kernel.#callcc の戻り値になります。

self が記憶した状態を継続します。引数は そのまま
Kernel.#callcc の戻り値になります。

@param ret 継続に復帰した時に返す値を指定します。

Continuation#call(*ret) -> () (6002.0)

self が記憶した状態を継続します。引数は そのまま Kernel.#callcc の戻り値になります。

self が記憶した状態を継続します。引数は そのまま
Kernel.#callcc の戻り値になります。

@param ret 継続に復帰した時に返す値を指定します。

Kernel.#callcc {|cont| .... } -> object (102.0)

継続を作成します。 Continuation を参照してください。

...継続を作成します。 Continuation を参照してください。...