1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)
}
|