問題タブ [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.

0 投票する
2 に答える
263 参照

scala - マップルックアップを理解するために - より良い方法はありますか?

次のことを考慮してください

可能なキーをトラバースしたいのですが、マップにキーが含まれている場合は、マップの値をトラバースします

私が思いついたオプションは次のとおりです。

フィルター付き

getOrElse

(どちらも同じ結果を返します:)

Scala が内包表記でオプションをサポートしていることを知っているので、これが機能しないことに少し驚きました。

それは不平を言うtype mismatch; found : List[Int] required: Int

私はその理由を漠然と理解していますが、if句やgetOrElseメソッドなしでこれを機能させる方法はありますか? (たとえば、myMap.get(key)バージョンを動作させる方法はありますか?)

0 投票する
4 に答える
559 参照

scala - 理解のために反論する

この Java コードと同等の Scala を実行する方法:

0 投票する
2 に答える
328 参照

scala - 理解のための Scala の型推論

次のコード

エラーメッセージを表示します

ここで 'for' が Char ではなく最も一般的な Any を選択する理由を理解してください。言語仕様のどのトピックを読む必要がありますか? ありがとう。

0 投票する
2 に答える
7163 参照

scala - /yield の Scala の戻り値の型

私はせっかちな人のために Scala を読んでいて、頭を悩ませているものに出くわしました。

以下は文字列を返します。

しかし、これはベクトルを返します:

これら 2 つの例の前にあるテキストは...

「forループの本体がyieldで始まると、ループは反復ごとに1つずつ、値のコレクションを構築します...このタイプのループはfor内包表記と呼ばれます。生成されたコレクションは、最初のジェネレーターと互換性があります。

生成されたコレクションが最初のジェネレーターと互換性がある場合、次のように、2 番目の例が範囲の型を返さないのはなぜですか。

それとも、「...生成されたコレクションは最初のジェネレーターと互換性があります」というテキストの意味を完全に誤解していますか。

0 投票する
4 に答える
884 参照

scala - 4 (または N) 個のコレクションを使用して、一度に 1 つの値 (1xN) のみを生成します (つまり、tuple4+ の場合は圧縮されます)。

今:

this onethis oneを含む他の場所でこれを検索しましたが、決定的な答えはありません。

次のようなことをしたい:

助言がありますか?

0 投票する
3 に答える
961 参照

scala - 一意の数字を持つすべての N 桁の長い数字のリスト

一意の数字を持つすべての N 桁の長い数字のリストを作成しようとしていますが、より大きな問題の一部としてそれを一般化する方法がわかりません。 ) 一意の数字を持つ数字の長い数字。

n = 4 の手書きコードは次のとおりです。

0 投票する
1 に答える
560 参照

scala - Scala 2.10.1 の新しい脱糖動作

このモナド クラスがあるとします。

以下は、2.10.0 REPL セッションからのものです。

2.10.1 の同じことを次に示します。

これは (私には) まったく予想外であり、フィルタリングに追加の制約 (Scalaz\/や などEitherT) が必要な場合に、特に混乱を招くエラーにつながります。

2.10.1 のリリース ノートで、この変更に関する議論を見つけることができませんでした。この新しい脱糖動作が導入された場所と理由を誰か指摘できますか?