るりまサーチ

最速Rubyリファレンスマニュアル検索!
11件ヒット [1-11件を表示] (0.063秒)
トップページ > クエリ:Kernel.#p[x] > クエリ:gets[x] > クエリ:$8[x] > クエリ:have_type[x] > クエリ:Digest[x] > クエリ:$NR[x] > ライブラリ:continuation[x]

別のキーワード

  1. openssl utf8string
  2. kconv isutf8
  3. kconv toutf8
  4. asn1 utf8string
  5. _builtin utf8_softbank

検索結果

Continuation (14.0)

継続を表すクラスです。

...すクラスです。

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

C 言語の setjmp()/longjmp() がわかる人は
setjmp() == callcc {|c| }
longjmp() == c.call
と考えれば、わかりやすいかも知れません(ただし、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
false...