Gepostet: |
Hilfe bei schwerer Aufgabe - Funktionen höherer Ordnung | ||||||||||
hi, bin gerade etwas am verzweifeln: mapFuns :: [a->b]->a-> mapFuns [] x = [] mapFuns (f:fs) x = f x : mapFuns fs x Ich soll MapFuns als Instanz von map definieren. Die Funktion verstehe ich (glaub ich): (f:fs) sind Funktionen, welche auf eine Liste x angewandt werden und die Ergebnisse werden als Liste ausgegeben. z.B. mapFuns [length,sum] [1,2,3] = [3,6] Allerdings kann map doch nur nur eine Funktion auf alle Elemente einer Liste anwenden? Hoffe ihr könnt mir helfen. und weiterhin soll ich mapFuns nur mit map,flip,(.) und ($) definieren, leider kann ich mit ($) nicht umgehen |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
Haskell Pbl | ||||||||||
Hi, Ich bin Anfänger mit Haskell. Hab ein Problem bei dieser Aufgabe: Dualer Logarithmus: Der duale Logarithmus einer positiven Ganzzahl m ist deniert als die grote Ganzzahl k mit 2 hoch k kleiner gleich m. Implementieren Sie eine Funktion ld :: Integer -> Integer, die den dualen Logarithmus berechnet. Hinweis: Dividieren Sie wiederholt durch 2. was ich überlegt hab: ld :: Integer -> Integer ld x | x==1 = k | otherwise = k=(k+1) x=(x div 2) aber ergibt immer : PARSE ERROR ON INPUT ´=´ :( was kann ich tun und wie soll ich zwei Statements nacheinander definieren in Haskell ? |
|||||||||||
Zum Seitenanfang | |||||||||||