Récapitulatif - Déballage sécurisé
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 15 sur 86.
Défi
FacileÉcrivez une fonction formatPlayerInfo qui prend le name, le score et le level d'un joueur sous forme de chaînes de caractères et renvoie un résumé formaté du joueur.
Utilisez les trois techniques de déballage (unwrapping) que vous avez apprises pour gérer les valeurs potentiellement manquantes :
- Utilisez
guard letpour vérifier si le nom est valide (non vide). Si le nom est vide, retournez immédiatement"Unknown player". - Utilisez
??(nil coalescing) pour fournir un score par défaut de"0"si le score est vide. - Utilisez
if letpour vérifier si le niveau est valide (non vide). S'il a une valeur, incluez-le dans la sortie ; sinon, omettez la partie concernant le niveau.
Format de sortie :
- Si le niveau est fourni :
"[name] - Score: [score], Level: [level]" - Si le niveau est vide :
"[name] - Score: [score]"
Paramètres :
name(String) : Nom du joueur (une chaîne vide représente nil)score(String) : Score du joueur (une chaîne vide représente nil)level(String) : Niveau du joueur (une chaîne vide représente nil)
Retourne : Une chaîne formatée avec les informations du joueur, ou "Unknown player" si le nom est vide.
Indice : Convertissez les chaînes vides en optionnels à l'intérieur de votre fonction en vérifiant si elles sont vides et en assignant nil si c'est le cas.
Essayez vous-même
func formatPlayerInfo(name: String, score: String, level: String) -> String {
// Écrivez le code ici
}
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur ModuloAffectation composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamique