Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
リストを非再帰的にフィルタリングしようとしていますが、どうすればよいかわかりません。簡単な例として、リスト[1、2、3、4、5、6、7]があり、それをフィルタリングして、3より大きい数値のリスト、つまり[4、5、6、 7]。
再帰的には問題なく実行できますが、ここで立ち往生しています。残念ながら、私はsmlに不慣れであり、私が考えることができる最善の方法はマップを使用することですが、マップはこれのために作成されたとは思いません。
その通りです。mapこのために作成されたものではありません。によって作成されmapたリストは、に指定されたリストと常に同じサイズになりmapます。
map
List.filterしかし、これのために作られました。数値が3より大きい場合にtrueを返す引数として関数を呼び出すList.filterと、目的どおりに実行されます。
List.filter
ヒント:foldrではなく、を使用して試してくださいmap。
foldr