我试图在使用Vec<f64>Vec内部制作的矩阵上做一个循环,然后逐个改变它的元素.
我似乎无法使其发挥作用; 我对语法仍然太困惑了......
extern crate rand;
use std::ptr;
use std::mem;
use rand::Rng;
fn main() {
let mut rng = rand::thread_rng();
let mut v: Vec<Vec<f64>> = Vec::new();
v.push(vec![0f64; 35]);
v.push(vec![0f64; 35]);
v.push(vec![0f64; 35]);
v.push(vec![0f64; 35]);
let len = v.len();
for &el in &v {
for q in &mut el {
q = rng.gen::<f64>();
println!("{}", q);
}
println!("{:?}", el);
}
println!("float: {}", rng.gen::<f64>());
//println!("vec: {:?}, len: {}",v,len);
}
Run Code Online (Sandbox Code Playgroud)
编译器说:
error[E0308]: mismatched types
--> src/main.rs:19:17
|
19 | q = rng.gen::<f64>(); …Run Code Online (Sandbox Code Playgroud)