core.async

    4

    1答えて

    キープレスイベントなどのイベントレートを計算して表示します。私はまた最初の出来事が起こった後にだけ率計算を開始したいと思う。もう1つの要件は、特定の量のキープレスイベント後にレート計算を停止することです。それに私の現在のアプローチは、そう (defn keypress-chan "Returns a channel that receives keys" [] (le

    1

    1答えて

    私はcore.asyncやチャンネルなどをよりよく理解しようとしています。 私の仕事は、データベースでjdbc select文を発行し、結果を非同期チャネルにストリーミングすることです。 clojure.data.csvを使用して、このチャネルから排他的なスレッドを取り出し、csvファイルに書き込みたいと考えています。 以下のプログラムを実行すると、遅延が発生していないようです...端末に出力され

    1

    1答えて

    には、複数チャネルのメッセージを待つ関数alts!があります。 Goでは、これはselectと呼ばれています(複数のチャンネルからのメッセージの選択など)が、Clojureの "alt"の意味は何ですか? 私は関数が何をしているのか知っていますが、 "alts"が何を意味するのかわからないときは関数名を覚えていませんか?それは「代替」のためのショートカットですか? alt!のdocstring(強

    2

    2答えて

    私の以前の質問の続きです。How to produce a lazy sequence by portion in clojure? データベースからデータを部分的にダウンロードします。最初は最初の500行をダウンロードし、次にサーバーからすべてのデータを受け取るまで次の500行をフェッチするように要求します。 私はコードを書いた: (jdbc/atomic conn (with-open [c

    1

    1答えて

    core.asyncにはpipelinesという並行の3種類があります。pipeline,pipeline-blocking、およびpipeline-asyncです。これらの関数の第1引数はパイプラインの '並列性'であるnです。 この引数の意味はなんですか? 各パイプラインの動作にどのように影響しますか?並列性の適切なデフォルト値は何ですか?いつ、どうして私はその価値を増減するのですか?実行中の

    0

    1答えて

    midjeフレームワークでprocess-async関数がテストされた関数の結果が一致しません。ほとんどの場合、予想どおりにチェックされますが、時にはout.jsonが初期状態("")で読み込まれます。私はasync-blockerの機能に頼って、確認の前にprocess-asyncを待つ。 私のアプローチには何が問題なのですか? (require '[[test-with-files.core

    1

    1答えて

    私は無害多くfuture Sを観察する方法を見つけようとしています。これにより、N個のスレッドをブロックせずにN futureを待つことを意味します。 私はcore.asyncライブラリは、それがブロック操作でスレッドをブロックしない方法で構築するのではなく、それを駐車し、スレッドを再利用していることがわかります。それはDEREFの場合である、またはそれは<!とalts!でのみ動作しますか?

    2

    2答えて

    (let [a (clojure.core.async/chan)] (case a a :foo :bar)) #=> :bar ここには:fooがあります。私は間違って何をしていますか? 一方、(condp = chan ...)はジョブを実行します。 PS: 基本的に私は次のようなことやろうとしています: (require '[clojure.core.a

    1

    1答えて

    チャンネルを作成する機能はchanです。しかし、chan?は表示されません。 chanによって作成されたオブジェクトに対してtrueを返す述語chan?をどのように記述しますか? 私はClojureとClojureScriptの両方について質問しています。