エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
class Continuation (Ruby 4.0 リファレンスマニュアル)
[edit] 要約 継続を表すクラスです。 Kernel?.callcc { |cont| ... } の呼び出しは、直前の状態(ローカ... [edit] 要約 継続を表すクラスです。 Kernel?.callcc { |cont| ... } の呼び出しは、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶してブロックを実行します。cont は、Continuation クラスのインスタンスで、Continuation#call メソッドを実行することでいつでも記憶した状態を継続できます。 C 言語の setjmp()/longjmp() がわかる人は setjmp() == callcc {|c| } longjmp() == c.call と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深くなる方向にもジャンプ出来るという違いがあります) callcc() は、ブロックの戻り値を返しますが、Continuation#call(args) が呼び出されたときは args を返しま



2012/10/30 リンク