Practice 50 Result and Option Types Coding Questions, TechnoVlogs

Practice 50 Result and Option Types Coding Questions


Q1. Write a Rust program to demonstrate how to handle an Option type with a None variant.  
Input:  
None  
Expected Output:  
No value found

Q2. Write a Rust program to demonstrate how to handle an Option type with a Some variant.  
Input:  
Option: Some(42)  
Expected Output:  
Value: 42

Q3. Write a Rust program to use the unwrap() method on an Option that contains None.  
Input:  
None  
Expected Output:  
Panicked: called Option::unwrap() on a None value

Q4. Write a Rust program to use the unwrap_or() method with an Option that contains None.  
Input:  
Option: None, Default: 100  
Expected Output:  
Default value: 100

Q5. Write a Rust program to handle errors using Result type for division by zero.  
Input:  
Numerator: 10, Denominator: 0  
Expected Output:  
Error: Division by zero

Q6. Write a Rust program to demonstrate using the Ok variant in a Result type for successful operation.  
Input:  
Result: Ok(42)  
Expected Output:  
Success: 42

Q7. Write a Rust program to handle a Result type with the Err variant.  
Input:  
Result: Err("File not found")  
Expected Output:  
Error: File not found

Q8. Write a Rust program to use map() on an Option type to transform its value.  
Input:  
Option: Some(5)  
Expected Output:  
Mapped Value: 10

Q9. Write a Rust program to chain method calls on an Option using and_then().  
Input:  
Option: Some(10), Function: multiply by 2  
Expected Output:  
Value after chain: 20

Q10. Write a Rust program to use unwrap() on a Result with an Ok variant.  
Input:  
Result: Ok(30)  
Expected Output:  
Unwrapped value: 30

Q11. Write a Rust program to use unwrap_or_else() on a Result type with an Err variant.  
Input:  
Result: Err("Network failure")  
Expected Output:  
Error handled: Network failure

Q12. Write a Rust program to return a Result type from a function that divides two numbers.  
Input:  
Numerator: 20, Denominator: 0  
Expected Output:  
Error: Division by zero

Q13. Write a Rust program to use Option::is_some() to check if an Option contains a value.  
Input:  
Option: Some(50)  
Expected Output:  
Option has a value: true

Q14. Write a Rust program to handle a Result type with a custom error message.  
Input:  
Result: Err("Connection timeout")  
Expected Output:  
Error: Connection timeout

Q15. Write a Rust program to use map_err() to convert the error type in a Result.  
Input:  
Result: Err("File not found"), Error conversion: "Unable to open file"  
Expected Output:  
Error: Unable to open file

Q16. Write a Rust program to use Option::and_then() to chain operations.  
Input:  
Option: Some(3), Function: multiply by 4  
Expected Output:  
Transformed value: 12

Q17. Write a Rust program to demonstrate Option::filter() to check if a value meets a condition.  
Input:  
Option: Some(5), Condition: greater than 3  
Expected Output:  
Option passed the filter: Some(5)

Q18. Write a Rust program to use Result::map() to transform the value of an Ok variant.  
Input:  
Result: Ok(7), Function: square the value  
Expected Output:  
Transformed Result: Ok(49)

Q19. Write a Rust program to demonstrate Result::and_then() to chain multiple operations.  
Input:  
Result: Ok(10), Operations: add 5, multiply by 2  
Expected Output:  
Final Result: Ok(30)

Q20. Write a Rust program to demonstrate the Option::unwrap_or_default() method with an empty Option.  
Input:  
Option: None, Default: 100  
Expected Output:  
Default value: 100

Q21. Write a Rust program to demonstrate Result::unwrap_or_else() with error handling.  
Input:  
Result: Err("Invalid input")  
Expected Output:  
Error: Invalid input

Q22. Write a Rust program to handle multiple errors in a Result with pattern matching.  
Input:  
Result: Err("Invalid data")  
Expected Output:  
Handling error: Invalid data

Q23. Write a Rust program to use Option::is_none() to check if an Option is None.  
Input:  
Option: None  
Expected Output:  
Option is None: true

Q24. Write a Rust program to use Option::or_else() to provide an alternative value if an Option is None.  
Input:  
Option: None, Alternative: Some(10)  
Expected Output:  
Alternative value: 10

Q25. Write a Rust program to demonstrate Result::map_or() to map the value of an Ok variant.  
Input:  
Result: Ok(5), Default: 0  
Expected Output:  
Mapped value: 5

Q26. Write a Rust program to handle a Result type with unwrap_or_default() for error handling.  
Input:  
Result: Err("Invalid value")  
Expected Output:  
Default value: 0

Q27. Write a Rust program to implement a function that returns a Result based on a division operation.  
Input:  
Numerator: 10, Denominator: 2  
Expected Output:  
Result: Ok(5)

Q28. Write a Rust program to use Option::or() to chain Option values.  
Input:  
Option: None, Alternative: Some(25)  
Expected Output:  
Resulting value: Some(25)

Q29. Write a Rust program to handle errors using Result when reading a file.  
Input:  
File path: "nonexistent_file.txt"  
Expected Output:  
Error: File not found

Q30. Write a Rust program to demonstrate Option::ok_or() to convert an Option into a Result.  
Input:  
Option: None, Error: "Value not found"  
Expected Output:  
Error: Value not found

Q31. Write a Rust program to handle multiple Result types using map() for transformation.  
Input:  
Result: Ok(20), Operation: add 10  
Expected Output:  
Transformed Result: Ok(30)

Q32. Write a Rust program to return a Result from a function that checks for negative numbers.  
Input:  
Value: -5  
Expected Output:  
Error: Negative number encountered

Q33. Write a Rust program to use Option::map() to multiply the value inside an Option.  
Input:  
Option: Some(4)  
Expected Output:  
Mapped value: 8

Q34. Write a Rust program to check if an Option is Some or None using pattern matching.  
Input:  
Option: Some(100)  
Expected Output:  
Option has value: Some(100)

Q35. Write a Rust program to use unwrap_or() to safely unwrap an Option.  
Input:  
Option: None, Default: 50  
Expected Output:  
Default value: 50

Q36. Write a Rust program to implement a function returning a Result with a successful value.  
Input:  
Result: Ok("Success")  
Expected Output:  
Success

Q37. Write a Rust program to demonstrate using Result for file reading with proper error handling.  
Input:  
File path: "existing_file.txt"  
Expected Output:  
File read successfully

Q38. Write a Rust program to demonstrate error handling with Err variant of Result.  
Input:  
Result: Err("Network error")  
Expected Output:  
Error: Network error

Q39. Write a Rust program to use Option::unwrap_or_else() for default value when None is present.  
Input:  
Option: None, Default: 25  
Expected Output:  
Default value: 25

Q40. Write a Rust program to check if an Option contains a value and return a message.  
Input:  
Option: Some(10)  
Expected Output:  
Option contains: 10

Q41. Write a Rust program to create a Result type from a division operation and handle errors.  
Input:  
Numerator: 6, Denominator: 0  
Expected Output:  
Error: Cannot divide by zero

Q42. Write a Rust program to use map_or_else() on an Option to transform or handle the error.  
Input:  
Option: None, Function: return 0  
Expected Output:  
Default value: 0

Q43. Write a Rust program to demonstrate Option::map_or() for applying a function to an option.  
Input:  
Option: Some(4), Function: multiply by 2  
Expected Output:  
Mapped value: 8

Q44. Write a Rust program to use Result::and_then() for chaining operations.  
Input:  
Result: Ok(5), Operation: add 10  
Expected Output:  
Chained Result: Ok(15)

Q45. Write a Rust program to use Option::or_else() for handling the absence of a value.  
Input:  
Option: None, Function: return 100  
Expected Output:  
Returned value: 100

Q46. Write a Rust program to use Result::map() for transforming the result value.  
Input:  
Result: Ok(15), Operation: square the number  
Expected Output:  
Transformed Result: Ok(225)

Q47. Write a Rust program to use unwrap_or() on an Option type to provide a fallback value.  
Input:  
Option: None, Default: 50  
Expected Output:  
Fallback value: 50

Q48. Write a Rust program to return a Result that handles a negative number input.  
Input:  
Value: -3  
Expected Output:  
Error: Negative number is not allowed

Q49. Write a Rust program to handle a successful Result using map() and return a transformed value.  
Input:  
Result: Ok(8), Function: double the number  
Expected Output:  
Transformed Result: Ok(16)

Q50. Write a Rust program to use unwrap_or_else() for handling Err in a Result.  
Input:  
Result: Err("Failed to load")  
Expected Output:  
Error handled: Failed to load

Share on Social Media