問題タブ [continuation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - なぜRuby 1.9の継続は悪なのでしょうか?
私はRubyの世界では比較的新しいです。そして、私は何を考えるべきかわかりません。「The Ruby Programming Language」では、新しいコードでは継続を使用せず、代わりにファイバーを使用するべきだと読みました。このプレゼンテーションを見つけました (2008 年から) http://www.atdot.net/~ko1/pub/ContinuationFest-ruby.pdfつまり、Continations は壊れており、Ruby の実装の作成者は犯罪者です。一方、著者が継続について興奮を示していて、継続のバグについては何も悲しんでいないブログをいくつか読みました。だから私は何を考えるべきか分からない。継続の代わりにファイバーを使用する方が良いことはわかっていますが、ファイバーが十分でない場合はどうすればよいですか? Continuations を使用できますか、それとも壊れていますか (2008 年のプレゼンテーションで説明されています)? なぜ Matz は標準ライブラリへの継続をキックしたのですか? なぜ投票があるのですか?彼はそれをRubyから追い出しますか?
playframework - Controller.await(int millis) の後にアクション チェーンがリダイレクトされない
これが意図したとおりに機能しないかどうかはわかりませんが、私が混乱しているだけです。
私がやりたいのは、非同期にアクションを遅らせることであり、await(int millis)
友達になれそうです。
何が起こるかは次のとおりです。
1. Application.index
に POST を送信するフォームを表示しますApplication.something
。
アプリ/コントローラー/Application.java
アプリ/ビュー/アプリケーション/index.html
2. Application.something
はその処理を実行し、チェーンを に戻しindex
ます。
アプリ/コントローラー/Application.java
3. Play でアプリケーション エラーが発生します: 「テンプレート Application/something.html が存在しません」。
したがって、での実行が一時停止/再開された後にrender()
が呼び出されると、 のテンプレートをレンダリングしようとしますが、もちろん存在しません。Application.index
Application.something
Application.something
すべてを削除するとawait(500)
、問題なく動作します (302 が発行index
され、期待どおりにレンダリングされます)。
私はリダイレクトを強制することができます
私が望む結果を得ることができますが、これは醜いです。
設定もできます
の直後に手動でawait
レンダリングし、意図したとおりに機能しApplication.index
ます(実際には魔法が機能します)。Controller.template()
await
基本的に、すべて問題なく、メソッド呼び出しではなく文字列を使用することを余儀なくされていますか、それとも少しずれていますか?
乾杯、トバイアス。
python - syntaxerror: "Python の行継続文字の後に予期しない文字があります" 数学
数学を実行したり、解決したりするために作成しているこのPythonプログラムに問題がありますが、構文エラーが発生しています:「pythonの行継続文字の後に予期しない文字が発生しました」
これは私のコードです
私の問題は\1.5にあります\ 1.5を試しましたが、うまくいきません
Python 2.7.2 の使用
c# - 配列内の 1 つ以上のタスクがキャンセルまたは失敗した場合に続行しますか?
タスクの配列がある場合、Task[]. 配列内の 1 つ以上のタスクが失敗した (またはキャンセルされた) 場合にのみ実行される継続を作成するにはどうすればよいですか?
recursion - SML-継続を使用してトライ内の単語を収集する
私はデータ型trie=文字のノード*(trie ref)リストを持っています| 空そして私はこれらの2つの相互再帰関数を使用して、トライ内のすべての単語を収集したいと思います。
そして、楽しみながらそれらを呼び出しますall_entries t = all_words t(fn l => map(fn w => String.implode w)l);
これは継続して行う必要があります。次のように、非継続形式で記述しました。
しかし、それらを継続形式に変換する方法がわかりません!これは私がこれまでに持っているものですが、機能しません:
私は何年もの間これに固執してきました、私はどんな助けにも感謝します。
c# - C#待機vs継続:まったく同じではありませんか?
Eric Lippertの答えを読んだ後、私は、ほとんど同じコインの両面であり、多くても構文上の違いがawait
あるという印象を受けました。call/cc
しかし、実際にC#5で実装しようとするとcall/cc
、問題が発生しました。call/ ccを誤解しているか(かなり可能です)、またはwaitはcall/ccを彷彿とさせるだけです。
次のような擬似コードを検討してください。
call / ccの私の理解が正しければ、これは次のように出力されます。
重要なのは、継続が呼び出されると、プログラムの状態が呼び出し履歴とともに復元されるため、にfoo
戻り、に戻るmain
ことはないということbar
です。
ただし、C#でを使用して実装されている場合await
、継続を呼び出してもこの呼び出し履歴は復元されません。foo
に戻り、正しい通話履歴を継続の一部にするために使用bar
できる方法はありません(私が見ることができます) 。await
説明してください:私はの操作を完全に誤解しましたかcall/cc
、それともawait
まったく同じではありませんcall/cc
か?
答えがわかったので、それらをかなり類似していると考えるのには十分な理由があると言わざるを得ません。上記のプログラムが疑似C#-5でどのように見えるかを考えてみましょう。
したがって、C#5スタイルでは、値を渡すための継続オブジェクトが提供されることはありませんが、全体的な類似性は非常に印象的です。今回は、true-call / ccの例とは異なり、「After」が呼び出されないことは明らかです。これは、C#を愛し、そのデザインを称賛するもう1つの理由です。
f# - F#で状態モナドと継続モナドを組み合わせる方法
タスク並列ライブラリを使用してツリーを合計しようとしています。このライブラリでは、ツリーが特定の深さまでトラバースされるまで子タスクが生成されます。それ以外の場合は、スタックオーバーフローを回避するために、継続パススタイルを使用して残りの子ノードが合計されます。
ただし、コードはかなり醜いように見えます。状態モナドを使用して現在の深さを運ぶのは良いことですが、状態モナドは末尾再帰ではありません。または、州を持ち歩くために継続モナドをどのように変更しますか?または、状態モナドと継続モナドの組み合わせを作成しますか?
このブログ投稿についてもう少し詳しく説明します:http://taumuon-jabuka.blogspot.co.uk/2012/06/more-playing-with-monads.html
objective-c - Objective C-継続を許可しながら、デバッグのためにプログラムで実行を停止する方法は?
条件がプログラムで指定されたときに、Objective Cの標準のNSAssert(condition_which_should_evaluate_true、@ "error message")ステートメントを使用し、ブレークポイントナビゲーターに「AllExceptions」ブレークポイントを追加して、デバッグビルドで実行を停止することに成功しました。
よくできましたが、ほとんどの場合、デバッグ中は、それ以降も通常のプログラム実行を継続したいと思います。多くの場合、アサーションが失敗した後にプログラムを続行すると、混乱/バグの原因を突き止めるのに役立ちます。少なくとも、私が別のプラットフォームでプログラミングしていたときのことを覚えています。
Objective Cの開発でそうするための標準的な方法はありますか?
python - Pythonで複雑な行の長さを制限するにはどうすればよいですか?
PEP8に従ってコードをフォーマットしていますが、少し問題があります。これだよ:
72〜79文字の行に分割するにはどうすればよいですか?
scheme - スキーム: ネストされた call/cc はコルーチンに対してどのように機能しますか?
http://community.schemewiki.org/?call-with-current-continuationからのコルーチンの次の例を見ています。
余分な作業:
call/cc を初めて使用する場合、コンテキストはどのようなものになるはずですか? コンテキストとは、callcc のジャンプの結果、どこに「戻る」べきかということです。
私が理解していることから、最初に call/cc を呼び出すと、do-other-stuff は本質的に余分な計算のコードを実行し、set の直後のポイントにジャンプするプロシージャになります! (ポイントA)。2 回目は、「ポイント B にジャンプ」動作を「ポイント A にジャンプしてコンテキストを実行するか、ポイント A に続く任意のコード」をラップします。これは正しいです?
セットの場合、このコードは機能しないようです。実際に起こりました。それともセットですか!このコードが機能するために必要ですか?
何が起こっているかを視覚的に表現することは本当に役に立ちます。