pub fn convert(&mut self, temp_format: &TempFormat){
        let current: TempFormat = self.temp_format.clone();

        let value = self.value;
        log(&format!("Converting temperature to system format. System: {}, Current: {}.", temp_format, &current));

        match (current, temp_format) {
            (TempFormat::Kelvin(_), &TempFormat::Celsius(_)) => {
                // C = K − 273.15
                self.value = value - 273.15;    
                self.temp_format = TempFormat::new("c");
            },
            (TempFormat::Kelvin(_), &TempFormat::Fahrenheit(_)) => {
                // F = (K – 273.15) × 9⁄5 + 32
                self.value = (value - 273.15) * 9.0 / 5.0 + 32.0;
                self.temp_format = TempFormat::new("f");
            },
            (TempFormat::Celsius(_), &TempFormat::Kelvin(_)) => {
                // K = C + 273.15
                self.value = value + 273.15;
                self.temp_format = TempFormat::new("k");
            },
            (TempFormat::Celsius(_), &TempFormat::Fahrenheit(_)) => {
                // F = C(9⁄5) + 32
                self.value = value * (9.0 / 5.0) + 32.0;
                self.temp_format = TempFormat::new("f");
            },
            (TempFormat::Fahrenheit(_), &TempFormat::Kelvin(_)) => {
                // K = (F − 32) × 5⁄9 + 273.15
                self.value = (value - 32.0) * 5.0 / 9.0 + 273.15;
                self.temp_format = TempFormat::new("k");
            },
            (TempFormat::Fahrenheit(_), &TempFormat::Celsius(_)) => {
                // C = (F − 32) × 5⁄9
                self.value = (value - 32.0) * 5.0 / 9.0;
                self.temp_format = TempFormat::new("c");
            },
            (_, _) => {
                // Todas alternativas diferentes foram consideradas. Isso considera todas as situações em que os tipos são iguais.
                // Portanto, não fazemos nada.
                return;
            }
        }
    }
/// Converte o formato de temperatura para o argumento.
Converte o formato de temperatura para o argumento.
Converte o formato de temperatura para o argumento .
pub fn convert(&mut self, temp_format: &TempFormat){
        let current: TempFormat = self.temp_format.clone();
        let value = self.value;
        log(&format!("Converting temperature to system format. System: {}, Current: {}.", temp_format, &current));
        match (current, temp_format) {
            (TempFormat::Kelvin(_), &TempFormat::Celsius(_)) => {
                // C = K − 273.15
                self.value = value - 273.15;    
                self.temp_format = TempFormat::new("c");
            },
            (TempFormat::Kelvin(_), &TempFormat::Fahrenheit(_)) => {
                // F = (K – 273.15) × 9⁄5 + 32
                self.value = (value - 273.15) * 9.0 / 5.0 + 32.0;
                self.temp_format = TempFormat::new("f");
            },
            (TempFormat::Celsius(_), &TempFormat::Kelvin(_)) => {
                // K = C + 273.15
                self.value = value + 273.15;
                self.temp_format = TempFormat::new("k");
            },
            (TempFormat::Celsius(_), &TempFormat::Fahrenheit(_)) => {
                // F = C(9⁄5) + 32
                self.value = value * (9.0 / 5.0) + 32.0;
                self.temp_format = TempFormat::new("f");
            },
            (TempFormat::Fahrenheit(_), &TempFormat::Kelvin(_)) => {
                // K = (F − 32) × 5⁄9 + 273.15
                self.value = (value - 32.0) * 5.0 / 9.0 + 273.15;
                self.temp_format = TempFormat::new("k");
            },
            (TempFormat::Fahrenheit(_), &TempFormat::Celsius(_)) => {
                // C = (F − 32) × 5⁄9
                self.value = (value - 32.0) * 5.0 / 9.0;
                self.temp_format = TempFormat::new("c");
            },
            (_, _) => {
                // Todas alternativas diferentes foram consideradas. Isso considera todas as situações em que os tipos são iguais.
                // Portanto, não fazemos nada.
                return;
            }
        }
    }
pub fn convert ( & mut self , temp_format : & TempFormat ) { let current : TempFormat = self . temp_format . clone ( ) ; let value = self . value ; log ( & format ! ( " " temp_format current ) ) ; match ( current , temp_format ) { ( TempFormat :: Kelvin ( _ ) , & TempFormat :: Celsius ( _ ) ) => { // C = K − 273.15 self . value = value - 273.15 ; self . temp_format = TempFormat :: new ( " " ) ; } , ( TempFormat :: Kelvin ( _ ) , & TempFormat :: Fahrenheit ( _ ) ) => { // F = (K – 273.15) × 9⁄5 + 32 self . value = ( value - 273.15 ) * 9.0 / 5.0 + 32.0 ; self . temp_format = TempFormat :: new ( " " ) ; } , ( TempFormat :: Celsius ( _ ) , & TempFormat :: Kelvin ( _ ) ) => { // K = C + 273.15 self . value = value + 273.15 ; self . temp_format = TempFormat :: new ( " " ) ; } , ( TempFormat :: Celsius ( _ ) , & TempFormat :: Fahrenheit ( _ ) ) => { // F = C(9⁄5) + 32 self . value = value * ( 9.0 / 5.0 ) + 32.0 ; self . temp_format = TempFormat :: new ( " " ) ; } , ( TempFormat :: Fahrenheit ( _ ) , & TempFormat :: Kelvin ( _ ) ) => { // K = (F − 32) × 5⁄9 + 273.15 self . value = ( value - 32.0 ) * 5.0 / 9.0 + 273.15 ; self . temp_format = TempFormat :: new ( " " ) ; } , ( TempFormat :: Fahrenheit ( _ ) , & TempFormat :: Celsius ( _ ) ) => { // C = (F − 32) × 5⁄9 self . value = ( value - 32.0 ) * 5.0 / 9.0 ; self . temp_format = TempFormat :: new ( " " ) ; } , ( _ , _ ) => { // Todas alternativas diferentes foram consideradas. Isso considera todas as situações em que os tipos são iguais. // Portanto, não fazemos nada. return ; } } }
Converte o formato de temperatura para o argumento.
Converte o formato de temperatura para o argumento .
&mut self
temp_format
&TempFormat