Resumen - Desempaquetado seguro
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, score y level de un jugador como cadenas de texto y devuelva un resumen del jugador formateado.
Utiliza las tres técnicas de desempaquetado (unwrapping) que has aprendido para manejar valores potencialmente faltantes:
- Usa
guard letpara verificar si el nombre es válido (no vacío). Si el nombre está vacío, devuelve"Unknown player"inmediatamente. - Usa
??(nil coalescing) para proporcionar un puntaje por defecto de"0"si el puntaje está vacío. - Usa
if letpara verificar si el nivel es válido (no 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): Puntaje 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 opcionales dentro de tu función verificando si están vacías y asignando nil en ese caso.
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 de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - 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 bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica