Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn f1<T>(v:Option<T>) -> Option<T> {
- return v
- }
- fn f2<T>(v:Option<T>) -> Option<T> {
- return v
- }
- fn f3<T>(v:Option<T>) -> Option<T> {
- return v
- }
- fn f4<T>(v:Option<T>) -> Option<T> {
- return v
- }
- fn f5(v:Option<i32>) -> Option<i32> {
- return v
- }
- // This function handles a division that may not succeed
- fn lucky_number(n: i32) -> Option<i32> {
- if n>5 {
- return Some(n)
- }
- return None
- }
- fn main() {
- match f1(f2(f3(f4(f5(lucky_number(4)))))) {
- Some(_) => println!("Good!"),
- None=> println!("Failed"),
- }
- match f1(f2(f3(f4(f5(lucky_number(10)))))) {
- Some(val) => println!("Good! You entered {}",val),
- None=> println!("Failed"),
- }
- let generic_str = "string value";
- match f1(f2(f3(Some(generic_str)))) {
- Some(val) => println!("Good! You entered {}",val),
- None=> println!("Failed"),
- }
- let generic_bool: bool = true;
- match f1(f2(f3(Some(generic_bool)))) {
- Some(val) => println!("Good! You entered {}",val),
- None=> println!("Failed"),
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement