2

C# で高次リスト操作の名前を変更した理由は何ですか? (例: map-> Selectfilter-> Wherefold-> Aggregate)

4

4 に答える 4

5

LINQ は、プロジェクションが選択されている場合など、SQL を知っている人々に大まかに慣れるように努めています。もちろん、適切な名前で独自の拡張メソッドを作成することもできます。

于 2010-09-26T17:05:38.813 に答える
5

メタクエスチョンについて・・・

関数型プログラミング コミュニティと主流の命令型プログラミング コミュニティは、長い間互いにほぼ孤立して発展してきました。その結果、根本的な語彙の違いがあります。たとえば、「ポリモーフィズム」のような一般的な用語は、各グループにとって完全に異なるものを意味します (パラメトリック ポリモーフィズム、別名「ジェネリック」または「テンプレート」は FP-er に対して、サブタイプ ポリモーフィズムは残りの部分に対して)。

名前の背後にある理論的根拠を尋ねると(もしあれば)、多くの場合、1 つの単純な答えが返ってきます。つまり、「ローカル カルチャー」に従って名前を付けます。C# では、LINQ は SQL のようなクエリ言語であるため、SQL によく似ています。

しかし、この質問をすることは、スペインに行って、誰もが自分の家を「ミ カーサ」と呼んでいる理由を尋ねることに似ています。(「なぜ私がそれをそう呼ぶのですか? それはそれが呼ばれるものです! あなたはそれを別のものと呼んでいるということですか?」)

于 2010-09-26T17:42:32.050 に答える
2

答えではありませんが、脇に置いておきます。

LINQ (C#/など) と F#関数の間の「デコーダ リング」変換については、http://blogs.msdn.com/b/jaredpar/archive/2008/12/02/mapping-linq-to-f.aspxを参照してください。 (主に、より伝統的な機能名に従います)。EnumerableSeq

于 2010-09-26T17:21:28.167 に答える
1

まあ、IMO、「折り畳み」は「集約」のかなりひどい名前です。おかしな数学の人々。:) ほとんどの場合、C# の名前は SQL/LINQ とより一致しています。

于 2010-09-26T16:41:08.407 に答える