From 93860403c2276723c1ed208f60bd36aa8e3f2fac Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Fri, 10 Sep 2021 14:24:08 -0400 Subject: [PATCH] RBE primitives tuples --- rustbyexample/primitives/primitives_tuples.rs | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 rustbyexample/primitives/primitives_tuples.rs diff --git a/rustbyexample/primitives/primitives_tuples.rs b/rustbyexample/primitives/primitives_tuples.rs new file mode 100644 index 0000000..724b269 --- /dev/null +++ b/rustbyexample/primitives/primitives_tuples.rs @@ -0,0 +1,36 @@ +fn reverse(pair: (i32, bool)) -> (bool, i32) { + let (integer, boolean) = pair; + (boolean, integer) +} + +#[derive(Debug)] +struct Matrix(f32, f32, f32, f32); + +fn main() { + let long_tuple = ( + 1u8, 2u16, 3u32, 4u64, -1i8, -2i16, -3i32, -4i64, 0.1f32, 0.2f64, 'a', true, + ); + + println!("long tuple first value: {}", long_tuple.0); + println!("long tuple second value: {}", long_tuple.1); + + let tuple_of_tuples = ((1u8, 2u16, 2u32), (4u64, -1i8), -2i16); + + println!("tuple of tuples: {:?}", tuple_of_tuples); + + let pair = (1, true); + println!("pair is {:?}", pair); + + println!("the reversed pair is {:?}", reverse(pair)); + + println!("one element tuple: {:?}", (5u32,)); + println!("just an integer: {:?}", (5u32)); + + let tuple = (1, "hello", 4.5, true); + + let (a, b, c, d) = tuple; + println!("{:?}, {:?}, {:?}, {:?}", a, b, c, d); + + let matrix = Matrix(1.1, 1.2, 2.1, 2.2); + println!("{:?}", matrix); +}