地図を使って複数の入力を持つ関数を適用しますか? (ハスケル)
質問
やあみんな、
私が働いて、私は複数の入力を受け付け、機能間でマップを適用しようとしている問題を抱えている宿題のビットを仕上げるために、現在しようとします。
これ場合に私が使用しているPROCESSLISTのF(X:XS)=マッピングaccelerateList F XS X XS
PROCESSLISTは浮動値(f)は、それが別のリストにソートし、そのリストを与えられている
は加速リストは、それが
別のリストオブジェクトを返し、それを通してリストとリスト・オブジェクト浮動値(F)を取り私は知っている私のリストを加速するコードが正しいですが、私は私の人生のために働いて、このコードの構文を取得することはできません。
processList :: Float -> [Object] -> [Object]
accelerate f [] = []
accelerate f [x] = [(accelerateForce f x x)]
accelerate f (x:xs) = map accelerateList f xs x xs
任意のアイデア?私は今、約3時間のために私の頭を悩まてきました。私はそれの何かを知っているの本当にのシンプルます。
解決
あなたの第一は、おそらくここにいくつかの括弧を使用したいと思うでしょう。
map accelerateList f xs x xs
関数map
が正確に二つの引数(ない5)かかるので、あなたは、例えば、このような何かを行う必要があります:
map (accelerateList f xs x) xs
しかし、一方で、それはあなたの関数のシグネチャに適合しません。問題は、あなたが十分に良い方法であなたのソリューションを構造化していないということでしょうです。別の質問かもしれませんが、確かにあなたが加速する機能を達成しようと(あるいはどの史上1は「トップ」1である)しているものの助けを考え説明します。
所属していません StackOverflow