私はこの問題を最近何らかの形で大量に受けてきました。私は数xをとり、yを生成するxに高次関数の束を適用したいと言いましょう。次に、yが特定のプロパティを満たしているかどうかを確認し、そうであればxを返すようにします。高次関数によるデータの受け渡し
この問題は、数値のリスト[x1、x2..xn]と、適用する関数のリストを集約すると、本当に面倒なようです。たとえば、リスト内の要素([y1、y2 ..]を生成する)、ソート、グループの各要素に関数を適用し、次に最大のグループのxの値を返したいとします。たとえば:
head . reverse . sort . map (length) . group . sort . map (mod 4) $ [1..10]
答えは6ですが、どのように私は、どの要素番号1〜10は、これら6に属して私に教えて、このような関数を書き換えるでしょうか?
私は、sndが必要になるまで、タプルを渡してfstを使うという考え方でプレーしました。あるいは、ソートのようなものを作るために新しいクラスを書くことは、クラスの1つの要素でのみ機能します。きれいなアプローチで登場するようです。
ありがとうございました。
ありがとうございます、これは私が思い付いたよりもはるかにクリーンです。私はこれらのような問題に対する一般的なアプローチはないことを理解し始めています。 –