2

皆さん、こんにちは。

現在、私が取り組んでいる宿題を少し終わらせようとしており、複数の入力を受け入れる関数にマップを適用しようとしているという問題があります。

したがって、私が processList f (x:xs) = mapcelebrateList f xs x xs を使用している場合

processList には、浮動値 (f) と、別のリストにソートされるリストが与えられます

Accelerate List は、浮動値 (f) List と List Object を取り、それを介して別の List Object を返します。

Accelerate List コードが正しいことはわかっていますが、このコードの構文が機能することは一生ありません。

processList :: Float -> [Object] -> [Object]
accelerate f [] = []
accelerate f [x] = [(accelerateForce f x x)]
accelerate f (x:xs) = map accelerateList f xs x xs

何か案は?もう3時間くらい頭をかいてます。私はそれが本当に単純なことだと知っています。

4

1 に答える 1

5

最初に、おそらくここで括弧を使用したいと思うでしょう:

map accelerateList f xs x xs

この関数mapは (5 つではなく) 正確に 2 つの引数を取るので、たとえば次のようにする必要があります。

map (accelerateList f xs x) xs

しかし一方で、それはあなたの関数のシグネチャには合いません。問題はおそらく、ソリューションを十分に構成していないことです。別の質問かもしれませんが、加速機能(または「トップ」の機能)で何を達成しようとしているのかを説明することは確かに役立ちます.

于 2010-05-16T09:29:37.987 に答える