22件ヒット
[1-22件を表示]
(0.053秒)
別のキーワード
検索結果
-
Continuation (38078.0)
-
継続を表すクラスです。
...スです。
Kernel.#callcc { |cont| ... } の呼び出し
は、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶
してブロックを実行します。cont は、Continuation クラスのインスタ
ンスで、Continuation#call メソッドを実行す......) == callcc {|c| }
longjmp() == c.call
と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深く
なる方向にもジャンプ出来るという違いがあります)
callcc() は、ブロックの戻り値を返しますが、Continuation#call(args)......:
以下は、Continuationによる無限ループの例
def LOOP
c = nil
yield callcc {|cnt| c = cnt; true }
c.call(false)
end
LOOP {|v| p v}
=> true
false
false
false
:
:
callcc とは、call-with-current-continuation の略です。... -
Kernel
. # callcc {|cont| . . . . } -> object (217.0) -
継続を作成します。 Continuation を参照してください。
...継続を作成します。 Continuation を参照してください。...