
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