Ruggine - Tupla

Tuple è un tipo di dati composto. Un tipo scalare può memorizzare solo un tipo di dati. Ad esempio, una variabile i32 può memorizzare solo un singolo valore intero. Nei tipi composti, possiamo memorizzare più di un valore alla volta e può essere di diversi tipi.

Le tuple hanno una lunghezza fissa: una volta dichiarate, non possono crescere o ridursi di dimensioni. L'indice della tupla inizia da0.

Sintassi

//Syntax1
let tuple_name:(data_type1,data_type2,data_type3) = (value1,value2,value3);

//Syntax2
let tuple_name = (value1,value2,value3);

Illustrazione

L'esempio seguente visualizza i valori in una tupla.

fn main() {
   let tuple:(i32,f64,u8) = (-325,4.9,22);
   println!("{:?}",tuple);
}

La sintassi println! ("{}", Tuple) non può essere utilizzata per visualizzare i valori in una tupla. Questo perché una tupla è un tipo composto. Usa la sintassi println! ("{:?}", tuple_name) per stampare i valori in una tupla.

Produzione

(-325, 4.9, 22)

Illustrazione

L'esempio seguente stampa singoli valori in una tupla.

fn main() {
   let tuple:(i32,f64,u8) = (-325,4.9,22);
   println!("integer is :{:?}",tuple.0);
   println!("float is :{:?}",tuple.1);
   println!("unsigned integer is :{:?}",tuple.2);
}

Produzione

integer is :-325
float is :4.9
unsigned integer is :2

Illustrazione

L'esempio seguente passa una tupla come parametro a una funzione. Le tuple vengono passate per valore alle funzioni.

fn main(){
   let b:(i32,bool,f64) = (110,true,10.9);
   print(b);
}
//pass the tuple as a parameter

fn print(x:(i32,bool,f64)){
   println!("Inside print method");
   println!("{:?}",x);
}

Produzione

Inside print method
(110, true, 10.9)

Distruggere

La distruzione dell'assegnazione è una caratteristica di rust in cui scompattiamo i valori di una tupla. Ciò si ottiene assegnando una tupla a variabili distinte.

Considera il seguente esempio:

fn main(){
   let b:(i32,bool,f64) = (30,true,7.9);
   print(b);
}
fn print(x:(i32,bool,f64)){
   println!("Inside print method");
   let (age,is_male,cgpa) = x; //assigns a tuple to 
   distinct variables
   println!("Age is {} , isMale? {},cgpa is 
   {}",age,is_male,cgpa);
}

La variabile x è una tupla assegnata all'istruzione let. Ogni variabile - age, is_male e cgpa conterrà i valori corrispondenti in una tupla.

Produzione

Inside print method
Age is 30 , isMale? true,cgpa is 7.9