Frage

Im folgenden Codeblock habe ich Probleme, ihn zu verstehen let x where x.hasSuffix("pepper").

let vegetable = "red pepper"

switch vegetable {
    case "celery":
        let vegetableComment = "Add some raisins and make ants on a log."
    case "cucumber", "watercress":
        let vegetableComment = "That would make a good tea sandwhich"
    case let x where x.hasSuffix("pepper"):
        let vegetableComment = "Is it a spicy \(x)"
    default:
        let vegetableComment = "Everything tastes good in soup."
}

Konsolenausgabe

GemüseKommentar: Ist es eine würzige rote Paprika?

Es scheint, als ob die folgende Logik geschieht.

x = vegetable
if (x's suffix == 'pepper') 
    run case

Kann mir das jemand besser erklären?

War es hilfreich?

Lösung

vegetable ist eine implizite String.Es ist das Gleiche, was Sie schreiben würden:

var vegetable: String = "red pepper"

hasSuffix wird als deklariert func hasSuffix(suffix: String) -> Bool an gibt daher a zurück Bool.Der where Das Schlüsselwort gibt zusätzliche Anforderungen an und kann nur in verwendet werden switch Aussagen.
Denn all das ist durchdrungen, das vegetable Variable wird x zugewiesen (let x).

Sie können mehr darüber lesen where Und switch Hier.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top