7
Scalaの継続とは何ですか?なぜそれらを使用するのですか?
Scalaでのプログラミングを終えたばかりで、Scala2.7と2.8の間の変更点を調べています。最も重要と思われるのは継続プラグインですが、それが何に役立つのか、どのように機能するのかわかりません。非同期I / Oに適していることは確認しましたが、その理由を見つけることができませんでした。このテーマに関するより人気のあるリソースのいくつかは次のとおりです。 区切られた継続とScala Scalaの後藤 2.8の味:続き 区切られた継続の説明(Scala) そして、Stack Overflowに関するこの質問: Scala2.8とScala2.7の最大の違いは何ですか? 残念ながら、これらのリファレンスはいずれも、継続の目的やシフト/リセット関数の機能を定義しようとはしておらず、そのようなリファレンスは見つかりませんでした。リンクされた記事の例がどのように機能するか(またはそれらが何をするか)を推測することができなかったので、私を助ける1つの方法は、それらのサンプルの1つを1行ずつ調べることです。3番目の記事からのこの単純なものでさえ: reset { ... shift { k: (Int=>Int) => // The continuation k will be the '_ + 1' below. k(7) } + 1 } // Result: 8 結果が8なのはなぜですか?それはおそらく私が始めるのに役立つでしょう。