Haskell :: Sprache |
Fremder (unbekannt) |
|
Mehrfachtests 29.11.2002 (05:03 Uhr) amo | ||||
Re: Aufgabe 2 - allDifferent 29.11.2002 (05:12 Uhr) amo | ||||
allDifferent2 01.12.2002 (19:39 Uhr) amo | ||||
allDifferent3 01.12.2002 (19:41 Uhr) amo | ||||
allDifferent -> allDifferent3 01.12.2002 (19:57 Uhr) amo | ||||
allDifferent -> allDifferent3 29.11.2002 (04:56 Uhr) amo | ||||
allDifferent4 01.12.2002 (20:08 Uhr) amo | ||||
allDifferent5 01.12.2002 (20:16 Uhr) amo | ||||
allDifferents 01.12.2002 (20:24 Uhr) amo | ||||
Aufgabe 3 - substring 27.11.2002 (22:59 Uhr) amo | ||||
Das hab ich immer noch nicht hinbekommen. Hat das schon wer? Hier ist mal das, was ich bis jetzt habe: klammerInhalt :: [a] -> [a] klammerInhalt xs = tail (init (xs)) isGeklammert :: Eq a => a -> a -> [a] -> Bool isGeklammert o s xs = (head xs == o) && (last xs == s) isHtmlKlammer :: [[Char]] -> Bool isHtmlKlammer = isGeklammert "<html>" "</html>" isHeadKlammer :: [[Char]] -> Bool isHeadKlammer = isGeklammert "<head>" "</head>" isTitleKlammer :: [[Char]] -> Bool isTitleKlammer = isGeklammert "<title>" "</title>" isMetaKlammer :: [[Char]] -> Bool isMetaKlammer = isGeklammert "<meta>" "</meta>" isBodyKlammer :: [[Char]] -> Bool isBodyKlammer = isGeklammert "<body>" "</body>" listeBis :: Eq a => a -> [a] -> [a] listeBis _ [] = [] listeBis e (x:xs) | e == x = [x] | otherwise = x : listeBis e xs anfKlammer :: (Eq a, Show a) => a -> a -> [a] -> [a] anfKlammer _ _ [] = [] anfKlammer o s (x:xs) | notInList s xs = error("Uebungsblatt_06.anfKlammer: Klammerungsfehler: " ++ show (xs) ++ " enthält die schließende Klammer " ++ show s ++ " nicht.") | o == x = x : listeBis s xs | otherwise = error ("Uebungsblatt_06.anfKlammer: Klammerungsfehler: " ++ show (x:xs) ++ " beginnt nicht mit " ++ show o ++ ".") trenneAnfKlammernAb :: String -> String -> Char -> [String] -> [[String]] trenneAnfKlammernAb _ _ _ [] = [[]] trenneAnfKlammernAb o s a (x:xs) | a == '1' = if x == o && inList s xs then let ak = anfKlammer o s (x:xs) in ak : [drop (length ak - 1) xs] else [x:xs] | a == '*' = if x == o && inList s xs then let ak = anfKlammer o s (x:xs) in ak : trenneAnfKlammernAb o s a (drop (length ak - 1) xs) else [x:xs] | a == '+' = if x == o && inList s xs then let ak = anfKlammer o s (x:xs) in ak : trenneAnfKlammernAb o s '*' (drop (length ak - 1) xs) else error ("Uebungsblatt_06.trenneAnfKlammernAb: Aktion " ++ show a ++ ": Klammerpaar " ++ show o ++ " - " ++ show s ++ " nicht in " ++ show (x:xs) ++ " enthalten.") | otherwise = error ("Uebungsblatt_06.trenneAnfKlammernAb: Aktion " ++ show a ++ " nicht definiert.") hatBodyKlasse _ = True hatHeadKlasse _ = True checkHTML :: String -> Bool checkHTML s = let w = words s i = klammerInhalt w in isHtmlKlammer w && hatHeadKlasse i && hatBodyKlasse i | ||||
modul mit Funktion zum Testen von checkHTML 04.12.2002 (03:27 Uhr) amo | ||||
Re: modul mit Funktion zum Testen von checkHTML 04.12.2002 (03:36 Uhr) amo | ||||
checkHTML - Primitivversion 04.12.2002 (05:03 Uhr) amo | ||||
Re: checkHTML - Primitivversion 04.12.2002 (05:09 Uhr) amo | ||||
ganze Datei für Blatt 6 04.12.2002 (12:52 Uhr) amo | ||||
Zeige Beitrag 80 |
|
0 User im Forum. Kostenloses Forumhosting von plaudern.de. Dieses Forum im eigenen Design entführen. Impressum |