4

私は Haskell を学んでいますが、もう少し複雑な述語を作成する方法を考えています。

たとえば、私はこれを行うことができます:

 any ( >= 5 ) my_list

しかし、私はこのようなことをする方法を見つけることができません:

 any (x `mod` 2  == 0) my_list

どうすればこれを行うことができますか?

4

3 に答える 3

5

本当に複雑なものについては、別の関数を定義したほうがよいでしょう。小規模なケースでは、ラムダまたは次のようなものを使用できます


    any predicate myList
            where predicate x = even x

編集: x も単純化したものです。次のようなものを置くことができますwhere predicate x = (mod x 3) == 1

于 2013-06-21T17:50:40.900 に答える
5

ラムダ関数を使用します。

any (\x -> x `mod` 2 == 0) my_list
于 2013-06-21T17:46:43.230 に答える