Reto Option y Result

Código
Intermedio
Rust
Curso de Rust
5 min
200 XP
Actualizado: 17/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Ejercicio de programación: Reto Option y Result

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Rust. Es un ejercicio de nivel intermedio que requiere conocimientos sólidos de la tecnología.

Tipo: Ejercicio de código 5 minutos estimados 200 puntos de experiencia

Información adicional del ejercicio

Implementar funciones que manejen valores opcionales y resultados con posibles errores

Contenido del ejercicio

Crea dos funciones en Rust que demuestren el uso de Option y Result:

  1. Implementa una función llamada obtener_elemento que reciba un vector de enteros y un índice, y devuelva un Option<i32> con el valor en esa posición o None si el índice está fuera de rango.

  2. Implementa una función llamada dividir que reciba dos números f64 (numerador y denominador) y devuelva un Result<f64, String> con el resultado de la división o un mensaje de error si el denominador es cero.

Finalmente, crea una función main que pruebe ambas funciones con diferentes casos (valores válidos e inválidos) y muestre los resultados usando pattern matching.

Lección relacionada

Este ejercicio está relacionado con la lección "Option y Result" de Rust. Te recomendamos revisar la lección antes de comenzar.

Ver lección relacionada

Más ejercicios de Rust

Explora más ejercicios de programación en Rust para mejorar tus habilidades y obtener tu certificación.

Ver más ejercicios de Rust

Solución al ejercicio de programación en Rust

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Rust para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en Rust

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Rust

⭐⭐⭐⭐⭐
4.9/5 valoración