問題タブ [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 - マップルックアップを理解するために - より良い方法はありますか?
次のことを考慮してください
可能なキーをトラバースしたいのですが、マップにキーが含まれている場合は、マップの値をトラバースします
私が思いついたオプションは次のとおりです。
フィルター付き
とgetOrElse
(どちらも同じ結果を返します:)
Scala が内包表記でオプションをサポートしていることを知っているので、これが機能しないことに少し驚きました。
それは不平を言うtype mismatch; found : List[Int] required: Int
私はその理由を漠然と理解していますが、if
句やgetOrElse
メソッドなしでこれを機能させる方法はありますか? (たとえば、myMap.get(key)
バージョンを動作させる方法はありますか?)
scala - 理解のために反論する
この Java コードと同等の Scala を実行する方法:
scala - 理解のための Scala の型推論
次のコード
エラーメッセージを表示します
ここで 'for' が Char ではなく最も一般的な Any を選択する理由を理解してください。言語仕様のどのトピックを読む必要がありますか? ありがとう。
scala - /yield の Scala の戻り値の型
私はせっかちな人のために Scala を読んでいて、頭を悩ませているものに出くわしました。
以下は文字列を返します。
しかし、これはベクトルを返します:
これら 2 つの例の前にあるテキストは...
「forループの本体がyieldで始まると、ループは反復ごとに1つずつ、値のコレクションを構築します...このタイプのループはfor内包表記と呼ばれます。生成されたコレクションは、最初のジェネレーターと互換性があります。
生成されたコレクションが最初のジェネレーターと互換性がある場合、次のように、2 番目の例が範囲の型を返さないのはなぜですか。
それとも、「...生成されたコレクションは最初のジェネレーターと互換性があります」というテキストの意味を完全に誤解していますか。
scala - 一意の数字を持つすべての N 桁の長い数字のリスト
一意の数字を持つすべての N 桁の長い数字のリストを作成しようとしていますが、より大きな問題の一部としてそれを一般化する方法がわかりません。 ) 一意の数字を持つ数字の長い数字。
n = 4 の手書きコードは次のとおりです。
scala - Scala 2.10.1 の新しい脱糖動作
このモナド クラスがあるとします。
以下は、2.10.0 REPL セッションからのものです。
2.10.1 の同じことを次に示します。
これは (私には) まったく予想外であり、フィルタリングに追加の制約 (Scalaz\/
や などEitherT
) が必要な場合に、特に混乱を招くエラーにつながります。
2.10.1 のリリース ノートで、この変更に関する議論を見つけることができませんでした。この新しい脱糖動作が導入された場所と理由を誰か指摘できますか?