問題タブ [scalaz-stream]
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.
scala - http4s - リクエストボディを String または InputStream として取得
私HttpService
はjsonを受け取り、それをjson4s
ライブラリでケースクラスに解析することを定義しようとしています:
org.json4s.JsonInput
またはからどのように取得できますreq.body
かreq.bodyAsText
?
私はまた、 with を使用するために継承することを知っているjson4s
ので、toまたはStringInput
toに変換する必要があると思いますが、まだ方法がわかりません。StreamInput
JsonInput
String
InputStream
req.body
InputStream
req.bodyAsText
String
私は Scala を初めて使用し、 などのいくつかの概念をまだ完全には理解していませんscalaz.stream.Process
。
scala - 2 つの scalaz ストリームを述語セレクターと組み合わせるにはどうすればよいですか?
2 つの scalaz ストリームを、いずれかのストリームから次の要素を選択する述語と結合したいと考えています。たとえば、このテストに合格したいと思います。
ご覧のとおりzip
、プロセスの 1 つが連続して選択される場合があるため、2 つの要素を順序付けするような巧妙なことはできません。
私はうまくいくと思った解決策を突き刺しました。まとめました!しかし、それが何もしないなら、くそー。JVMがハングするだけです:(
上記は私の2回目の試みであることに注意してください。最初の試みで を作成しようとしましたTee
が、敗者要素を消費しない方法がわかりませんでした。ここにあるような再帰的なものが必要だと感じました。
ストリーム バージョンを使用しています0.7.3a
。
任意のヒント (これらのことを自分で理解する方法を単純に学びたいため、増分ヒントを含む) は大歓迎です!!
scala - scalaz-stream によるモナド変換子
このスニペットy.run
では型チェックを行いません。
コンパイラは次のエラーを表示します。
could not find implicit value for parameter C: scalaz.Catchable[[x]Test.StateStringTask[x]]
Catchable
のインスタンスを作成する必要がありますStateStringTask
か? それ、どうやったら出来るの?または、実行時にステートフル効果を処理する簡単な方法はありProcess
ますか?
scalaz-stream - time.awakeEvery によって作成された ScalaZ プロセスを停止するには?
scalaz.stream.time.awakeEvery(1.second)
1 秒ごとにイベントを作成するプロセスを作成できることを学びました。非常に明白です。次に、そのプロセスをマッピングして、毎秒何らかのタスクを達成できます。ここまでは順調ですね。
この活動を停止したい場合はどうすればよいですか? によって作成されたプロセスはp.kill.run.run
どこですか? を試しましたが、機能しません。p
time.awakeEvery(1.second)
したがって、コードは次のようになります。
それでも、「殺された」と印刷した後に時間を印刷し、永遠に続けます。
プロセスを停止し、プロセスが使用しているリソース (スレッド) を解放するにはどうすればよいですか? ScheduledThreadPoolExecutor をシャットダウンすることで停止できることがわかりましたが、もっとエレガントな方法はありませんか?