#![allow(unused)] // #![derive(Debug)] // nicht in stable use rand::Rng; struct Laenge(f32); #[derive(Debug)] enum Farben { Rot, Gruen, Blau, Mix(u32, u32, u32), Mix2 { r: u32, g: u32, b: u32 }, } fn farb_test(x: Farben) { println!("{x:#?}"); } fn opt_r1000() -> Option { let mut rng = rand::rng(); let num1 = rng.random_range(0..100); if num1 >= 50 { Some(rng.random_range(0..1000)) } else { None } } pub fn okt31() { let f = Farben::Rot; let f2 = Farben::Mix(23, 14, 99); let mut _l = Laenge(10.0); _l = Laenge(5.0); farb_test(f); farb_test(f2); let some_number = Some(5); let some_number: Option = None; println!("{some_number:?}"); // Option // let () = some_number; println!("-----------------"); // todo!(); // Debug macro let i = 42; let j = dbg!(i); println!("j = {j}"); // stderr (./target/debug/spontan 2> err) eprintln!("Schreiben auf stderr"); // Unterschied zu todo!() ? // unimplemented!(); let o: Option = None; println!("{o:?}"); // o = Some(14); for _ in 0..10 { if let Some(z) = opt_r1000() { println!("{z}"); } else { println!("None"); } // let ... else { ... }; // match arms /* match opt_r1000() { Some(z) => println!("{z}"), None => println!("None"), } */ } }