Repaso: desenvoltura segura
Parte de la sección Fundamentos del Journey de Swift de Coddy. Lección 15 de 86.
Desafío
FácilEscribe una función formatPlayerInfo que reciba el name, el score y el level de un jugador como cadenas y devuelva un resumen formateado del jugador.
Usa las tres técnicas de desempaquetado que has aprendido para manejar valores potencialmente ausentes:
- Usa
guard letpara comprobar si el nombre es válido (no está vacío). Si el nombre está vacío, devuelve"Unknown player"inmediatamente. - Usa
??(coalescencia de nil) para proporcionar una puntuación predeterminada de"0"si la puntuación está vacía. - Usa
if letpara comprobar si el nivel es válido (no está vacío). Si tiene un valor, inclúyelo en la salida; de lo contrario, omite la parte del nivel.
Formato de salida:
- Si se proporciona el nivel:
"[name] - Score: [score], Level: [level]" - Si el nivel está vacío:
"[name] - Score: [score]"
Parámetros:
name(String): Nombre del jugador (una cadena vacía representa nil)score(String): Puntuación del jugador (una cadena vacía representa nil)level(String): Nivel del jugador (una cadena vacía representa nil)
Devuelve: Una cadena formateada con la información del jugador, o "Unknown player" si el nombre está vacío.
Pista: Convierte las cadenas vacías en optionals dentro de tu función comprobando si están vacías y asignando nil si lo están.
Pruébalo tú mismo
func formatPlayerInfo(name: String, score: String, level: String) -> String {
// Escribe el código aquí
}
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación compuestaRepaso: matemáticas simplesOperadores de comparación7Entrada/salida básica
Función printInterpolación de cadenasEntrada con ReadLineConversión de tiposRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosRepaso: función SigmaRepaso: función de validaciónValores predeterminados13Iteración sobre secuencias
Iteración sobre elementosEl método enumeradoIteración sobre cadenas P1Iteración sobre cadenas P22Variables
Let vs VarAnotaciones de tipoNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesenvolver con If LetGuard LetOperador de coalescencia nilRepaso: desenvoltura segura6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Swift