[解決済み] Scalaの継続性とは何か、なぜ継続性を使うのか?
質問
私は今 Scalaでプログラミング で、Scala 2.7と2.8の間の変更点を調べてみました。一番重要そうなのはcontinuationプラグインなんだけど、何に役立つのか、どう動くのかがよくわからない。非同期I/Oに良いというのは見たことがあるのですが、なぜそうなるのかがわからないのです。このテーマに関するより一般的なリソースをいくつか紹介します。
そしてStack Overflowでのこの質問。
残念ながら、これらのリファレンスのどれも、継続が何のためにあるのか、またはシフト/リセット関数が何をすることになっているのかを定義しようとしていませんし、定義しているリファレンスも見つかっていません。 リンク先の記事にある例がどのように動作するのか (あるいは、何をするのか) を推測することができないので、これらのサンプルを 1 行ずつ見ていくことが、私を助けてくれる 1 つの方法かもしれません。3 番目の記事からのこの単純なものでさえもです。
reset {
...
shift { k: (Int=>Int) => // The continuation k will be the '_ + 1' below.
k(7)
} + 1
}
// Result: 8
なぜ結果が8なのでしょうか?それはおそらく私が始めるのに役立つだろう。
どのように解決するのですか?
私の
ブログ
は
reset
と
shift
を使うので、もう一度読んでみてください。
もうひとつの良い資料は、私もブログで紹介していますが、Wikipedia の 継続パスのスタイル . これは,Scala の構文を使わず,明示的に継続を渡していますが,この件に関しては圧倒的に明確です.
私のブログでリンクしているのですが、壊れてしまったようで、区切られた継続に関する論文は、多くの使用例を示しています。
しかし、私が思うに、最も良い例は 概念 の最も良い例は Scala Swarm だと思います.その中で,ライブラリ が停止する で停止させ,残りの計算を継続させます.この場合、ライブラリは計算を別のホストに転送し、その結果(アクセスされた変数の値)を停止された計算に返します。
さて、あなたは Scala のページにある簡単な例さえ理解していないので
を実行します。
を読んでみてください。その中で私は
だけ
この基本的なことを説明することに関心があり、なぜその結果が
8
.
関連
-
[解決済み] Scalaの「コンテキストバウンド」とは何ですか?
-
[解決済み] Scalaのcase classとclassの違いは何ですか?
-
[解決済み] private[this] vs private
-
[解決済み] Scalaの慣用表現「flatmap that s*** 」はどこから来たのか?
-
[解決済み] Scala型プログラミングリソース
-
[解決済み] タイプダイナミックの仕組みと使い方を教えてください。
-
[解決済み] sbtのヒープサイズを設定するには?
-
[解決済み] に似た三項演算子。
-
[解決済み] Scalaで関数を定義する3つの方法の違い
-
[解決済み] Scala。文字列からブール値へのエレガントな変換
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Scalaにおける中括弧と括弧の正式な違い、また、どのような場合に使用すべきなのか?
-
[解決済み] scala で複数の case class をマッチングさせる
-
[解決済み] Scalaで、リストから重複を取り除くにはどうしたらいいですか?
-
[解決済み] SBTの正しい使い方を教えてください。
-
[解決済み] Scala で複数の暗黙の引数を持つ関数を定義する
-
[解決済み] Abstract ClassとTraitの違い[重複]について
-
[解決済み] に似た三項演算子。
-
[解決済み] Scalaで関数を定義する3つの方法の違い
-
[解決済み] 上位互換型はどんなときに役立つのか?
-
[解決済み] scalaのslickメソッド、今ひとつ理解できない。