Haskell isSubString

  • Wie kann ich in Haskell eine Funktion programmieren, die überprüft ob ein String in einem anderem vorhanden ist.

    z.B. "messen" und "essen"


    Ich hoffe jemand weiß das :(

  • Du tust dir wohl leichter, wenn du zuerst eine Hilfsfunktion isPrefix schreibst, die genau dann True zurückgibt, wenn die ersten Elemente des zweiten Arguments genau die Elemente des ersten Arguments sind.
    Also zum Beispiel: isPrefix "foo" "foobar" == True, isPrefix "abc" "abde" == False, isPrefix "123" "0123" == False

    *plantsch*

  • Ja so ungefähr habe ich mir das auch gedacht

    StringAb :: [a] -> [b] -> Bool
    StringAb (a,b) =
    if (a:b) then True
    else False

    Also die Idee war zu überprüfen ob b in der Liste a vorhanden ist, aber natürlich funktioniert das ganze nicht

  • Dankeschön für deine rasche Hilfe
    Leider hab ich es immer noch nicht geschafft, auch wenn das Prinzip mir längst klar geworden ist
    ... irgendawas ist grundlegend falsch. Vielleicht die Typbezeichnung oder so.

    Gruß
    ChibiChris

  • hm... ist nicht : der listen-generator? damit kontrollierst du nicht, ob was in der liste ist.

    ahja, und "if x then True else False" kann einfach durch "x" ersetzt werden.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!