Gepostet: |
etwas zu delete oder filter, Aufgabe: Häufigkeit Teilstrings | ||||||||||
filter1 :: [(String, Integer)] -> [(String, Integer)] mein Problem ist, dass ich jedes beliebige - sprich (x,egal) aber alle Elemnte mit (x,_) aus list entfernen will. Gibts da ne bessere Funktion als delete oder wie mache ich ihm es klar dass in list alle (x,_) gelöscht werden sollen? Hab das mit diesem _ Unterstrich probiert, klappt aber nicht. nun delete geht nur nach einem Import von List. in der Aufgabe soll ich die Häufigkeit von Teilstrings berechenen countString "Hallo Hallo!" 2 Ausgabe: (Ha,2),(ll,2),(o ,1),(o!,1) nun mein countString gibt: (Ha,2),(ll,2),(o ,1),(Ha,1),(ll,1),(o!,1) aus das soll so nicht sein - das wollte ich mit filter1 verhindern geht aber nur wenn ich (x,1) weglösche. nun das geht ja bei Hallo Hallo Hallo z.B. nciht mehr module Blatt3 where |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
du könntest es so lösen
also du kannst keine liste vom typ [(String, Integer)] erstellen die so aus sieht liste =[("wort",1),("wort2",_)] das ist schon vom typ her falsch das zeichen _ muß schon ein int sein (also auch nen konkreter wert) so würdest du z.b auf nen wert k vergleichen dafür muß ihn aber der benutzer mit eingeben, und er würde dann alle tupel mit k rauswerfen
aufruf mit >filter1 [("wort",1),("wort",2)] 2 [("wort",1)] ich hätte delete garnicht benutzt... ich hoffe das war die frage ^^ oder deine variante müßte dann so aussehen...du machst übrigens nen fehler wenn du das erste element nicht betrachtest
(mein hugs kennt übrigens kein delete, was für eins verwendest du?) ich denke aber das du das delete nur einmal aufrufen mußt... _ ist übrigens nur nen platzhalter also nicht das wunderwerk schlecht hin |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
nun delete geht nur nach einem Import von List. in der Aufgabe soll ich die Häufigkeit von Teilstrings berechenen countString "Hallo Hallo!" 2 Ausgabe: (Ha,2),(ll,2),(o ,1),(o!,1) nun mein countString gibt: (Ha,2),(ll,2),(o ,1),(Ha,1),(ll,1),(o!,1) aus das soll so nicht sein - das wollte ich mit filter1 verhindern geht aber nur wenn ich (x,1) weglösche. nun das geht ja bei Hallo Hallo Hallo z.B. nciht mehr bis hirhin danke für deine gute Erklärung! |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
ok hat jetzt doch hingehauen mit dem filtern die aufgabe könnte man auch anders lösen, nur fehlt mir noch das handling dafür -trotzdem kann ich deine Mühe hier im Forum nur schätzen *thumbs up* module Blatt3 where |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
import List etwas umständlich aber geht aufruf mit >filter1 liste |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
^^ zu spät ich seh grade du hattest schon geantwortet, deine lösung ist natürlich schicker | |||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
aber genau auf deinen gedankengang hab ich hingearbeitet - was später scheiterte und ich es dann auf einem völlig anderen weg gelöst habe ^^ schöner oder nicht | |||||||||||
Zum Seitenanfang | |||||||||||