問題タブ [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 に答える
3587 参照

scala - Scala での理解のために自動インクリメント インデックスを使用する方法

Scalaの内包表記で自動インクリメントカウンターを使用することは可能ですか?

何かのようなもの

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

scala - 理解のためのLiftJSONでの非再帰的抽出

私はLiftJSONのfor-comprehensionsを使用してJSONを解析しています。JSONは再帰的であるため、たとえば、フィールドidは各レベルに存在します。次に例を示します。

次のコード

を生成しList(1, 2, 3)ます。製品に期待していたList(1)

私のプログラムでは、これは2次計算になりますが、必要なのは線形だけです。

for-comprehensionsを使用してトップレベルのidフィールドのみに一致させることは可能ですか?

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

scala - 入れ子になった怠惰な理解

私は深く「ネストされた」理解力を持っており、x、y、zの3つのレベルに簡略化されています。xaだけをStream作成すると、yとzの計算も怠惰になることを望んでいました。

しかし、これは3つのプリントから明らかなように、3つの要素すべてを計算します。最初の2つだけを計算したいのは、これらがすべてストリームから取得するためです。toStream2番目などを呼び出すことでこれを回避できListます。理解のあらゆるレベルでそれを呼ぶよりも良い方法はありますか?

0 投票する
6 に答える
10382 参照

scala - Scala for/comprehension式の脱糖部分を取得していますか?

REPL (またはコンパイラ) で実際にコンパイルしようとする前に、for/comprehension 式の (Scala 部分のみ) desugar 変換を取得する方法を知っている人はいますか?

私がこれまでに見つけた唯一のものは、コンパイラの「-print」フラグですが、これで Scala の完全な翻訳が得られます…

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

scala - Scala の「for」構文でのどちらかの使用

私が理解しているように、Scala の「for」構文は、Haskell のモナドの「do」構文に非常に似ています。ListScala では、 s とsに "for" 構文がよく使用されますOption。sで使いたいEitherのですが、必要なメソッドがデフォルトのインポートにありません。

この機能は、何らかのインポートを通じて利用できますか?

少し問題があります。

リストの場合は になりますList()。の場合Option、 になりますNone。Scala 標準ライブラリはこれに対する解決策を提供しますか? (またはおそらくscalaz?)どのように?独自の「モナド インスタンス」を提供したいとします。

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

scala - scala での理解度評価の遅延

私はscalaとほとんどの関数型言語に不慣れで、現在数を因数分解しようとしています。私はコードを書いた:

scala val を遅延として宣言した場合、呼び出したときに理解のために全体を評価しないのではないかと思っていましたfactors.headか?

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

scala - シーケンス理解のタイプは何ですか

Scalaを学び始めたばかりです。

http://www.scala-lang.org/node/111の例で遊んでいたときに、型に問題があることがわかりました。

これは、次のエラーでコンパイルされません。

ただし、戻り値の型指定がなくても動作し、クラスは Vector です。

これは矛盾しているようです。コンパイル型エラーの原因を教えてください。

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

scala - パターンマッチシーケンス内包表記の慣用的な方法は何ですか?

コンストラクターを期待される型にインスタンス化できません。見つかった: collection.immutable.::[B] 必須: scala.collection.immutable.IndexedSeq[Int]

これは、 match が IndexedSeq を受け取っても LinearSeq を受け取っていない場合の MatchErrorと同じ問題です。

問題は、それを正しく行う方法です。どこにでも追加する.toListのは正しくないようです。そして、Seq(他の質問の回答で説明されているように)すべてを処理する独自のエクストラクターを作成すると、誰もがそれを行うと混乱につながります...

問題は、シーケンス内包表記の戻り値の型に影響を与えられないのはなぜですか、または、そのような一般化されたSeqエクストラクタが標準ライブラリの一部ではないのはなぜですか?

0 投票する
7 に答える
1437 参照

clojure - 理解のためのClojureの例

docjureを使用していますが、select-columns関数の列マップが必要です。手動で指定せずに、すべての列を取得したいと思います。怠惰な無限ベクトルシーケンスとして以下を生成するにはどうすればよいですか[:A:B:C:D:E ...:AA:AB:AC ....:ZZ ...:XFD]?

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

macros - 「for」読解の重複を減らす

Clojure For Comprehensionの例に対する私の回答では、削除したい重複がいくつかあります。

「for」の重複を削除したいと思います。私は次のマクロを書きました:

どちらで動作しますか:

しかし、私が試してみると:

私は得る:

何が起こっている?重複を取り除くためのより良い方法はありますか?