Wiederholung – Tag-Filter
Teil des Abschnitts Logik & Ablauf der Swift-Journey von Coddy. Lektion 22 von 56.
Aufgabe
MittelDu filterst Artikel nach Tags. Lies drei Zeilen:
- Die Tags eines Artikels (durch Kommas getrennt, dürfen Duplikate enthalten)
- Die vom Leser mit „Gefällt mir“ markierten Tags (durch Kommas getrennt)
- Die vom Leser blockierten Tags (durch Kommas getrennt)
Gib in dieser Reihenfolge aus:
Tags: <n>, wobeindie Anzahl der eindeutigen Tags des Artikels istMatches: <...>: Tags, die der Artikel mitlikedgemeinsam hat, alphabetisch sortiert und mit,verbundenHidden: <...>: Tags, die der Artikel mitblockedgemeinsam hat, alphabetisch sortiert und mit,verbunden- Eines von:
Verdict: show,Verdict: hideoderVerdict: skip.
Regeln für das Urteil:
hide, wenn der Artikel mindestens ein blockiertes Tag hat- andernfalls
show, wenn er mindestens ein „Gefällt mir“-Tag hat - andernfalls
skip
Für die Eingabe swift,ios,swift,ui / swift,vapor / android lautet die Ausgabe:
Tags: 3
Matches: swift
Hidden:
Verdict: showProbier es selbst
let articleTags = Set(readLine()!.components(separatedBy: ","))
let liked = Set(readLine()!.components(separatedBy: ","))
let blocked = Set(readLine()!.components(separatedBy: ","))
// TODO: Tags-Anzahl, Übereinstimmungen, Ausgeblendet, Urteil drucken
Alle Lektionen in Logik & Ablauf
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimSuchen in StringsAufteilen und ZusammenfügenTeilstrings ersetzenRückblick – Benutzernamen prüfen4Mengen
Mengen erstellenVereinigung und SchnittmengeSubtraktion und symmetrische DifferenzTeilmenge und ObermengeWiederholung – Tag-Filter7Projekt – Gewohnheitstracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteBereichsmethodenBereiche in SwitchRückblick – Kalender-Raster5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerketten von Map, Filter und ReduceRückblick – WortstatistikÜbe selbstständig: Swift-Playground