Comment fonctionne x où x.hasSuffix("pepper")
-
20-12-2019 - |
Question
Dans le bloc de code ci-dessous, j'ai du mal à comprendre 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."
}
Sortie console
légumeCommentaire : Est-ce un poivron rouge épicé
Il semble que la logique suivante se produise.
x = vegetable
if (x's suffix == 'pepper')
run case
Quelqu'un peut-il mieux m'expliquer cela ?
La solution
vegetable
est un implicite String
.C'est la même chose que vous écririez :
var vegetable: String = "red pepper"
hasSuffix
est déclaré comme func hasSuffix(suffix: String) -> Bool
an renvoie donc un Bool
.Le where
Le mot-clé spécifie des exigences supplémentaires et ne peut être utilisé que dans switch
déclarations.
Parce que tout cela est imprégné, le vegetable
la variable est affectée à x (let x
).
Vous pouvez en savoir plus sur le where
et switch
ici.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow