問題タブ [for-comprehension]
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 - Scala: 将来の理解のための ExecutionContext
を作成したり、 や のようなメソッドを適用したりするときに、future
それらに ExecutionContext を指定できます。onSuccess
map
例えば、
ただし、将来の for-comprehension を使用する場合、その部分に ExecutionContext を指定するにはどうすればよいyield
ですか?
そして、指定されていない場合、どの ExecutionContext がコードを生成して実行しますか?
編集
わかった。回答のおかげで、私は何かを見つけました。暗黙のExecutionContext (のような)
を定義またはインポートしないと、for-comprehension はコンパイルされません。つまり、for-comprehension は暗黙の ExecutionContext を使用します。Implicits.global
では、暗黙の ExecutionContext なしで for-comprehension を使用するにはどうすればよいでしょうか、つまりどのように指定すればよいのでしょうか?
generator - フィルタリングを使用してpythonジェネレーター式をチェーンするにはどうすればよいですか?
ジェネレーターを連鎖させようとしているので、バッチで単一の操作を行うのではなく、大きな CSV ファイルを行のストリームとして処理できます。
このようにして、データセット全体をメモリにロードすることを避けて、各ステップの各反復を遅らせることができます。
ジェネレーター式は、if ステートメントを使用して出力をフィルター処理しようとする場合を除いて、正常に機能します。
これは機能します: 一度に 1 つの反復のみが消費されます
next()
次に、結果の iterableを呼び出すことで、一度に 1 行ずつ取得できます。ただし、これを行うと
その後、イテレータは が使い果たされるまで実行を続けます。なんで?回避策は何ですか?
scala - Scala 非同期/コールバック コードの書き換え
パスごとにユーザーをチェックする必要がある単純なコード。ユーザーはアクティブで、その後、最終ログイン日時を更新します。
flatMap/map スパゲッティの少ないものに書き直す方法は?
別の解決策
}
scala - リストを別の特性のマップにマップする最良の方法
List[TraitA]
のオブジェクトがあるとしましょう。TraitA
プロパティを提供しますpropX : String
。このリストのサブセットが のインスタンスでもあることはわかっていますがTraitB
、これはプロパティ を提供しませんpropX
。
たとえば、次のようになります。
リスト内のいくつかのインスタンスは、extend TraitA
その他のものextend TraitA with TraitB
です。持っているインスタンスのみを抽出する必要がありますが、からTraitB
プロパティを保持する必要があります。必要なのは、この値に従ってのインスタンスをグループ化するです。propX
TraitA
propX
Map
TraitB
したがって、TraitB
インスタンスからインスタンスのこのサブセットを抽出する必要がありList[TraitA]
ます。それらの一部はであり、 キーがfromであるTraitA with TraitB
を作成します。Map[String, List[TraitB]]
propX
TraitA
for
私は内包表記をいじっていましyield
たList[(String, TraitB)]
がgroupBy _.1
、おそらく最初のジェネレーターがTraitA
.
私はこれを試しましたが、予想されるタイプが次のように不平を言いますList[(String, TraitA)]
:
逆に、filter
パターンマッチングでリストするとフィルタリング機能でTraitB
見えなくなってしまいます。propX
これを達成するための最良のアプローチは何ですか?
racket - ラケットの for/list とカスタムの for/bytes
私は Racket で遊んでいて、バイト文字列の理解を逃しました。ドキュメントの例を見つけたときfor/fold/derived
、初心者なら誰でもそうするように、独自のバイト文字列理解マクロを作成することにしました。
関連する質問がいくつかあります。
- とにかくこれはラケットのやり方ですか?
- マクロは大丈夫ですか?基本的に、
for/fold/derived
ドキュメントの例をマクロ展開されたものと組み合わせましたfor/vector
- 明らかなパフォーマンスの最適化はありますか?
残念ながら、(list->bytes (for/list ...
このマイクロベンチマークよりも実際には高速ではありません:
3212ms 対 3690ms になります。50000 より小さいサイズの場合はfor/bytes
負け、それより大きいサイズの場合は勝ちです。
scala - このScalaステートメントを「脱糖」するにはどうすればよいですか?
Scala での LINQ スタイルのクエリはjson4s
次のようになります。
(2)の仕組みがよくわかりません。このステートメントをどのようにfor
脱糖しますか?
javascript - Coffeescript 配列内包表記スキップ値
coffeescript に移植する RPC ライブラリがあります。実行する必要があることの 1 つは、関数呼び出しパラメーターを並べ替えて、それらが正しい順序になっていることを確認することです。これを行うために、次のような「配列内包表記」を作成しました。
「cb」パラメータは、コールバックを介して結果を提供するために、すべてのリモート プロシージャによって使用されます。クライアントはこのコールバックを提供しないため、これは内包表記でスキップする必要があります (サーバーは、結果をエンコードしてクライアントに返すために書き込むことができるようにするためです)。私の問題は、理解がこれに対して「未定義」の値を入れていることです。そのため、不格好な[-1..-1]
構文を使用して未定義をコールバックに置き換える必要があります。私がやりたいのは、それをスキップしてargValues.push cb
.
このような値を理解してスキップさせる方法はありますか?
scala - Scala: 理解のための NoSuchElementException
サイズをカウントする必要がある Web リクエストの将来の結果があります。現在の応答に項目がある場合は、次のセットを取得するために別の要求を行う必要があります。現在の応答が空の場合は、完了です。
私が今持っているコード:
これは、現在の要素がなくなるまではうまくいくようで、current.last.name を取得しようとして NoSuchElementException が発生します。
!(current.isEmpty) がフィルターに展開される場合の条件を理解しているので、ここで本当に欲しいものではありません。私が欲しいのは:
ここでは、先物の収集を簡単に処理するために for 内包表記を使用しています (少なくとも、これは私が過去に行った方法です)。ガイダンス/読むべきものはありますか?私はscalaにかなり慣れていないので、優しくしてください。