るりまサーチ

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

別のキーワード

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

ライブラリ

クラス

モジュール

キーワード

検索結果

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

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

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

Continuation (12036.0)

継続を表すクラスです。

...ラスです。

Kernel.#callcc { |cont| ... } の呼び出し
は、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶
してブロックを実行します。cont は、Continuation クラスのインスタ
ンスで、Continuation#call メソッドを実行...
...言語の 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 }
c.call(false)
end

LOOP {|v| p v}

=> true...

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

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

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

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

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

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

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

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