• Почему u8 не конвертируется в f32 или как считать строку в f32?

    @ziplane Автор вопроса
    Поискав я нашел способ только со строками . Вкратце - читаем строку и кастуем ее в число. Я же решил пойти другим извращенным способом .
    pub fn get_labels(&self,out_lbl:usize,min:f32,max:f32) -> Vec<Vec<f32>>{
    
            let mut labels:Vec<Vec<f32>> = Vec::new();
            let mut buf:Vec<f32> = Vec::new();
    
            // Заполняем labels
            for v in &self.labels {
    
                for j in 1..out_lbl {
    
                    let mut buf_str = *v as char;
                    let mut z = buf_str.to_digit(10).unwrap();
                    if z as usize == j { buf.push(max)} else {buf.push(min)  }
                }
    
                labels.push(buf.clone());
                buf.clear();
            }
            labels
        }
    Ответ написан
    Комментировать
  • Почему условие не работает?

    @ziplane Автор вопроса
    Я так и не понял как сделать это в for.
    Условие не срабатывало потому что я дурак. Счет начинается с 0 в массиве/векторе.
    решение на while:
    pub fn mirror(input:&mut Vec<i32>) {
    
        let mut n = input.len()-1;
    
        let mut i = 0;
        while ( i < n) {
            if i != n {
                input.swap(i,n);
                n = n-1;
            }
            i+=1
        }
    
    }
    Ответ написан
    Комментировать