私はHaskellを初めて使い、any
のように機能する関数を実装する必要がありますが、それはfoldl
で実装する必要があります。これは私が今持っているものです。foldlを使用して実装する
myAny :: (a -> Bool) -> [a] -> Bool
myAny = undefined
私はHaskellを初めて使い、any
のように機能する関数を実装する必要がありますが、それはfoldl
で実装する必要があります。これは私が今持っているものです。foldlを使用して実装する
myAny :: (a -> Bool) -> [a] -> Bool
myAny = undefined
foldl
は通常<starting value>
がacc
の初期値は、そうあなたのケースでFalse
が適当であり得るし、<newAcc>
がx
(Aの評価に基づいて計算されfoldl (\acc x -> <newAcc>) <startingValue> <list>
、同様に適用されますリスト要素)とacc
(あなたのアキュムレータの現在の値)。最後にアキュムレータが返されます。新しいアキュムレータを計算するには、条件が満たされている場合はTrue
、それが満たされていない場合は古いアキュムレータにします。 、あなたがこれまでに試してみました何learn you a Haskell for great good's chapter on this
おそらくそれは拡張子のリストを視覚化するのに役立ちます。だから 'foldl gz'は' [x1、x2、...、xn]という形式のものをとり、 '((z \' g \ 'x1)\' g \ 'x2)を生成する関数です。 。\ 'g \' xn) ' –
をチェックアウトすることができます...しかし、それをエコーしません
希望:あなたの関数は、このような何かを見ることができますか?それが立てば、あなたはあなたのためにこれを書く人を求めています。 – Lazersmoke
公平では、しばしばタイプを書く新人にとって、この質問にはすでにこれまでに試されたことが含まれているほど難しいステップです。そのタイプが課題の一部として提供されたのか、解決の一部であるのかはわかりません。 – amalloy