borrowing

    2熱度

    1回答

    我試圖在Vec中使用Vec<f64>製作的矩陣循環,然後逐個修改它的元素。 我似乎無法使它工作;我太困惑的語法... extern crate rand; use std::ptr; use std::mem; use rand::Rng; fn main() { let mut rng = rand::thread_rng(); let mut v: Vec<V

    1熱度

    1回答

    我想實現一個樹型數據結構。我有一個Node結構,並希望它保存對子代Node的引用。我想: use std::collections::*; #[derive(Debug)] struct Node { value: String, children: HashMap<String, Node>, } impl Node { fn new(value: S

    0熱度

    1回答

    我有這樣的代碼: struct Foo<'a> { link: &'a i32, } fn main() { let mut x = 33; println!("x:{}", x); let ff = Foo { link: &x }; x = 22; } 生成此編譯器錯誤: error[E0506]: cannot assign to

    1熱度

    1回答

    結合我試圖生成Vec<(Point, f64)>: let grid_size = 5; let points_in_grid = (0..grid_size).flat_map(|x| { (0..grid_size) .map(|y| Point::new(f64::from(x), f64::from(y))) .collect::<Vec<Point>

    2熱度

    1回答

    我對Rust很新,在讀寫the book的同時編寫一些簡單的程序,然後測試我正在學習的內容。 今天我試着寫一個建議作爲練習的程序(更確切地說是最後一個在the end of chapter 8.3)。由於我仍然在學習,因此非常緩慢,因此我幾乎在添加到我的main.rs的任何新線路上運行新的cargo build。截至目前,它看起來像這樣: use std::io::{self, Write};

    -3熱度

    1回答

    我寫了這個簡單的輸入解析: use std::io; fn main() { let mut line = String::new(); io::stdin().read_line(&mut line) .expect("Cannot read line."); let parts = line.split_whitespace();

    1熱度

    1回答

    我有一個管理多個傳感器的結構。我有一個陀螺儀,加速計,磁力計,氣壓計和溫度計。所有這些都是特質。 pub struct SensorManager { barometer: Barometer + Sized, thermometer: Thermometer + Sized, gyroscope: Gyroscope + Sized, accelerome

    4熱度

    2回答

    我有兩個問題關於示例here。 let a = [1, 2, 3]; assert_eq!(a.iter().find(|&&x| x == 2), Some(&2)); assert_eq!(a.iter().find(|&&x| x == 5), None); 1.爲什麼&&x在封閉的論點,而不是僅僅x使用? (我的理解「&」正在傳遞的對象引用,但到底是什麼用兩次的意思嗎?) 書中寫

    2熱度

    1回答

    我是Rust的新手,所以我仍然試圖習慣這種語言的內存模型。 因此,當我在結構上構建getter方法時,我遇到了錯誤cannot move out of borrowed content.。我無法弄清楚它爲什麼會出現,但它似乎與Enum上的某些特徵有關。 enum Gender{ Male, Female, } impl Default for Gender { f

    1熱度

    1回答

    Rust中有什麼常見的模式來實現這樣的事情? 的錯誤是 cannot borrow `sprite` as mutable because it is also borrowed as immutable 我明白這個問題,但不知道如何實現鏽這樣的事情。 struct Sprite { position: i32, } impl Sprite { pub fn left