問題タブ [foldleft]

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 に答える
1124 参照

scala - クラスのリストをカンマ区切りの単一の文字列に折りたたむ (Scala で)

ケースクラスのリストを取得し、それらを単一のコンマ区切り文字列 (見出しまたは末尾のコンマなし) に変換する必要があります。

したがって、toLine(State("one"), State("two"), State("three")) は one,two,three を返す必要があります

これが私が考えたものです。より良い方法はありますか?

リストに少なくとも1つの値があることを保証する方法はありますか?

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

haskell - この foldl ベースの関数 "myreverse = foldl (flip (:)) []" はどのように機能しますか?

私は Haskell を学んでおり、再帰を使用せずに独自の逆関数を作成しようとしました。

解決策は次の関数です。

評価中に何が起こるかを理解しようとしています。

ここでフリップが何をするのか理解できません。誰かがここで何が起こっているのかを段階的な説明で書き留めることができますか?

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

scala - Scala: Value :: は Int のメンバーではありません

次の Scala コード サンプルがありますが、foldLeft ではエラーが発生するのに、foldRight ではエラーが発生する理由を知りたいですか?

私は Scala を初めて使用するので、できるだけ簡単に返信してください。ありがとう

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

scala - Scala で効率的な groupBy-size フィルターを作成する方法は、概算である可能性があります

Scala でa が与えられた場合、少なくとも 1回出現するすべての s のList[Int]を取得したいと考えています。またはを使用してこれを行うことができます。例えば:Set[Int]IntthreshgroupByfoldLeftfilter

を与えSet(1,2)ます。

List[Int]が非常に大きいとします。どのくらいの大きさかはわかりませんが、Ints 周波数のそれぞれについては気にしないので、いずれにせよこれは無駄に思えますthresh。合格したらthresh、もうチェックする必要はありません。 を に追加するだけIntですSet[Int]

問題は、非常に大きなList[Int],

a) 真の正確な結果が必要な場合 (間違いの余地はありません)

b) 結果が概算である場合、たとえば、いくつかのハッシング トリックまたはブルーム フィルターを使用することによって、どこSet[Int]に誤検知が含まれる可能性があるか、{の頻度Int> thresh} が実際には aBooleanではなくDoublein であるかどうか[0-1]

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

arrays - Scala: ジェネリック配列で foldLeft を使用するにはどうすればよいですか?

私はこの方法を持っています:

私がやりたいのはfoldLeft、二項演算子を使用して適用することです。ただし、foldLeft初期値が必要であり、の実際の型を知らずに提供できる初期値がわかりませんA

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

scala - 条件に基づいて foldLeft 関数の変数を更新することは可能ですか?

指定された配列の連続したサブ配列から最大合計を与えるスカラ コードを記述しようとしています。たとえば、val arr= Array(-2, -3, 4, -1, -2, 1, 5, -3). この配列では、連続するサブ配列の最大合計、つまり 4+(-1)+(-2)+(1)+5 = 7 を取得する必要があります。この結果を取得するために、次のコードを書きました。

maximum_so_farしかし、カウント/合計が進むにつれて値を更新できないため、実際の結果から逸脱しました。私はこの機能を使用していたので、連続するサブ配列要素の合計が以前の max_sum より大きい場合にのみ変数foldLeftを更新する可能性はありますか?maximum_so_far

シナリオをよりよく理解するための参照リンク

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

scala - ケースクラスのリストでの集計のより良い方法

ケースクラスのリストがあります。出力には、ケース クラスのさまざまなパラメーターの集計が必要です。それを行うためのより最適化された方法を探しています。

例:

都市から学生の詳細を取得するには、最初に都市ごとに集計し、次にそれらの詳細を大学ごと、次にグループごとに分割する必要があります。

出力は、以下の形式のケース クラスのリストです。

これを達成するための 2 つの方法:

1)すべてのリストをループし、各組み合わせ(上記のケース3の組み合わせ)のマップを作成し、データを集約して新しい結果リストを作成し、それにデータを追加します。

2) foldLeft オプションの使用

どちらの場合も、リストを複数回ループしています。シングルパスと最適化された方法でこれを達成する方法はありますか?

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

scala - List ではなく Map で foldLeft を理解する

マップの仕組みを理解したいfoldLeft。リストがあり、ゼロ要素と関数で foldLeft を呼び出すと、それがどのように機能するかを理解しています。

0の最初の要素でゼロ要素をlist1追加し、次に の 2 番目の要素を追加list1します。したがって、出力は新しい入力になり、最初の入力はゼロ要素になります。

今、私はコードを手に入れました

  1. ここでの最初の要素は aTuple2ですが、map2は aMapであり ではないのでTuple2、ゼロ要素は何ですか?
  2. List、つまりがあるときはlist1、常に「次の要素を取りましたlist1」。の「次の要素はmap1何ですか?」の別のペアmap1ですか?