ownership

    0熱度

    1回答

    我在理解如何使用特徵和所有權方面遇到了一些麻煩。下面的示例工作: struct X([u8; 4]); impl X { pub fn get(&self, n: usize) -> u8 { self.0[n] } } fn f1(x: &X) { println!("{}", x.get(1)); f2(&x); } fn f

    5熱度

    2回答

    我想打開一個文件並使用lines()將其內容作爲BufReader讀取。我也希望能夠找到文件的末尾並寫一些新的行。 使用let mut file讓我寫文件,但一旦我給文件到BufReader我再也不能寫,因爲主要功能不再擁有file: fn main() { let filename = "tt.txt"; // open a tt.txt file in the local

    3熱度

    1回答

    我是一名Javascript開發人員,正在尋找與Rust合作的遊戲。我讀過Rust編程語言,完成了這些教程,併成功將Rust添加到使用FFI的節點項目中。我想加快我寫的解析器,但認爲我錯過了一個基本的所有權概念。 當前的挑戰很簡單:評估一個已命名捕獲的正則表達式,並將該變量的值更改爲新捕獲的值。 我試過這十五種方法,使用unwrap或嵌套Result s和Option s。它總是歸結爲「不夠長」的

    2熱度

    2回答

    我有一個我不明白的所有權問題。基本上我嘗試在我的文件系統上創建一些硬連接,並在創建後刪除它們。因此,我創建了一系列整數,這些整數映射到我喜歡創建和銷燬的實際文件名。我天真的解決方案是這樣的: use std::fs; const src_file: &'static str = "a.txt"; const file_ext: &'static str = ".txt"; fn crea

    2熱度

    1回答

    我得到錯誤,我正在移動(一)價值(S),我不應該,但錯誤並沒有說清楚我意外移動,我錯過了它,當我只是看代碼。 錯誤: -*- mode: compilation; default-directory: "~/Developer/Rust/optimal_subset_finder/src/" -*- Compilation started at Thu Aug 27 21:53:26 car

    0熱度

    1回答

    前一段時間,我註冊了一個涼亭包,並提交了pull request to original repo。 如何傳送包裹所有權?更新回購地址是否足夠?

    6熱度

    2回答

    我想這個問題是關於總體生命期的,但是由於你不能寫出它們的類型,所以我在封閉時遇到了困難。 這個例子有點做作 - 我剛開始學習Rust,這是我一直在掛的。 該程序不會編譯: fn main() { let mut list: Vec<&Fn() -> i32> = Vec::new(); { list.push(&|| 1); } } 因爲: src

    0熱度

    2回答

    我正在通過編寫簡單的二進制解碼器來學習Rust。 我正在使用BufferedReader與byteorder crate來讀取數字,但我在讀取字節緩衝區時遇到問題。 我想將字節數據讀入運行時分配的緩衝區中。 然後我想將這個緩衝區的所有權傳遞給一個結構體。當struct不再使用時,緩衝區應該被釋放。 除了一些Vec::with_capacity()黑客攻擊之外,似乎沒有辦法在堆上分配運行時大小確定的

    1熱度

    1回答

    我目前與2010年 我寫這個(很簡單)的代碼在Visual Studio 3.1的Xerces工作: XMLPlatformUtils::Initialize(); DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(L"XML 1.0"); DOMDocument* doc1 = impl->c

    3熱度

    1回答

    我試圖從getopts中提取一個可選參數,並且獲取借入的值對於變量s而言的活動時間不夠長。 代碼: let cfgFilePath = match matches.opt_str("c") { Some(s) => Some(Path::new(&s.clone())), None => None }; 錯誤: main.rs:29:36: 29:45 error: bo