diff options
| author | Carlos Maiolino <[email protected]> | 2025-07-10 22:24:20 +0200 |
|---|---|---|
| committer | Carlos Maiolino <[email protected]> | 2025-07-10 22:24:20 +0200 |
| commit | 869e68986aa8f69af6e7842260a68d1e5c6f796f (patch) | |
| tree | 63b6b5ffc3d19414233d4629a533c0d9bf3cbf72 /rust/tuples.rs | |
| parent | 20834dcc57537cd95260a4a22f5d91a027adfd35 (diff) | |
Add a bunch of code
Signed-off-by: Carlos Maiolino <[email protected]>
Diffstat (limited to 'rust/tuples.rs')
| -rw-r--r-- | rust/tuples.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/rust/tuples.rs b/rust/tuples.rs new file mode 100644 index 0000000..2ea6c19 --- /dev/null +++ b/rust/tuples.rs @@ -0,0 +1,35 @@ +// Tuples are compund values + +fn main() { + let _t0: (u8, i16) = (0, -1); + + // Tuples can be nested + let _t1: (u8, (i32, u16)) = (2, (-9, 99)); + + println!("{:?}", _t1); + + // Long tuples can't be printed: + //let long_tuple = (1,2,3,4,5,6,7,8,9,10,11,12,13); + //println!("{:?}", long_tuple); + + // Tuples can be destructured + let tup: (i32, f64, &str) = (1, 5.3, "corno"); + + let (x, y, z) = tup; + + println!("{} {} {}", x,y,z ); + + let (x, y, z) = (9, 10, 11); + println!("{} {} {}", x,y,z ); + + let (sum, mul) = sum_mul((3, 5)); + + println!("{} {}",sum, mul); +} + +// Tuples can be passed as function arguments +// and used as return values + +fn sum_mul(nums: (i32, i32)) -> (i32, i32) { + (nums.0 + nums.1, nums.0 * nums.1) +} |
