Mi sono imbattuto in questo codice che fa parte di un'implementazione Swift di un elenco collegato nel Swift Algorithm Club. Durante l'implementazione l'autore utilizza case let
seguendo una dichiarazione while prima di scartare un opzionale. Non ho mai visto la parola chiave usata al di fuori del contesto di un'istruzione switch, e mi chiedo che cosa fa esattamente? In qualche modo getta la parte let next? = node.next
su true o false, forse a seconda che lo next?
diventi nullo o no?Cosa significa "caso" senza istruzione switch in Swift?
public var last: Node? {
if var node = head {
while case let next? = node.next {
node = next
}
return node
} else {
return nil
}
}
Correlati: http://stackoverflow.com/questions/30720289/swift-2-pattern-matching-in-if. –
Anche correlati: http://stackoverflow.com/questions/36880109/what-are-the-advantages-use-cases-of-optional-patterns-introduced-in-swift-2/36881836#36881836 – jtbandes