Sichere Extraktion eines Wertes aus einer Kette von Optionals
Swift
Medium
optionals
Aufgabe «Sichere Extraktion eines Wertes aus einer Kette von Optionals»
Sie erhalten eine Zeichenkette, die durch Leerzeichen getrennte ganze Zahlen enthält. Einige Zahlen können fehlen (ersetzt durch '?'). Schreiben Sie eine Funktion, die die Zeichenkette annimmt, sie in Bestandteile zerlegt, jeden Bestandteil in ein optionales Int umwandelt, indem Sie Int($0) verwenden. Wenn der Bestandteil '?' ist, muss er in nil umgewandelt werden. Aus dem resultierenden Array von Optionals müssen dann alle Werte, die nicht nil sind, extrahiert und summiert werden, unter Verwendung einer kompakten Kette von Optionals (z. B. über compactMap und reduce). Wenn nach der Verarbeitung keine Zahl mehr übrig ist, geben Sie nil zurück. Andernfalls geben Sie die Summe als Int zurück. Eingabedaten: eine Zeichenkette. Ausgabedaten: eine ganze Zahl oder die Zeichenkette "nil".
Eingabeformat
Eine Zeichenkette, die ganze Zahlen und/oder das Zeichen '?' enthält, getrennt durch Leerzeichen.
Ausgabeformat
Eine ganze Zahl (Summe aller nicht nil Zahlen) oder die Zeichenkette "nil", wenn es keine Zahlen gibt.
Beispiele
Beispiel 1
EINGABE
3 ? 7 ? 2
AUSGABE
12
Beispiel 2
EINGABE
? ? ?
AUSGABE
nil
Beispiel 3
EINGABE
3
cat
apple
dog
AUSGABE
3
main.swift