私のzip関数(下記参照)を使用して、2つのリスト[x0; x1; ...; xn]および[y0; y1; ...; ym]を返し、リスト[x0 + y0; x1 + y1; ...; xp + yp]であり、p = min(n; m)である。これはコンソールからの出力です。埋め込みメソッドを使用せずにhaskellでリストを追加する機能を作成する
*Recursion> :t addpairs
addpairs :: (Num a) => [a] -> [a] -> [a]
*Recursion> addpairs [1,2,3,4] [40,50,60,90]
[41,52,63,94]
私のzip機能:
zip [] _ = []
zip _ [] = []
zip (a:aa) (b:bb) = (a,b) : Recursion.zip aa bb
すべてのヘルプは素晴らしいことです。助けたことすべてについて
addpairs xs ys = map f (Recursion.zip xs ys)
where f (x,y) = x + y
ありがとう:
私は実際にこの問題 を解決これは私が思い付いたソリューションでした。あなたの関数が指定された二つのリストです
だから私は本当にハズケルに新しいです、そして、私はまだすべてがどのように動作するのか把握しようとしています。関数をまとめる実際の構文は今私にとっては少し難しいです。基本的に私はその意味を理解していません。 – thehobbit21
私は、結果として得られる 'addpairs'定義の構造が何であるべきかを示すのを助けるために私の答えを広げました。 – ehird
私はまだ問題があります: addpairs xs ys = f(Recursion.zip xs ys) ここでf(x:xs)(y:ys)= fxy:addpairs f xs ys – thehobbit21