Pertanyaan yang diberi tag «rust»

Rust adalah bahasa pemrograman sistem tanpa pengumpul sampah yang fokus pada tiga tujuan: keselamatan, kecepatan, dan konkurensi. Gunakan tag ini untuk pertanyaan tentang kode yang ditulis dalam Rust. Gunakan tag khusus edisi untuk pertanyaan yang merujuk pada kode yang memerlukan edisi tertentu, seperti [rust-2018]. Gunakan tag yang lebih spesifik untuk subtopik seperti [karat-kargo] dan [karat-makro].


1
Mengapa kompiler Rust tidak mengoptimalkan kode dengan asumsi bahwa dua referensi yang bisa diubah tidak bisa alias?
Sejauh yang saya tahu, referensi / pointer aliasing dapat menghambat kemampuan kompiler untuk menghasilkan kode yang dioptimalkan, karena mereka harus memastikan biner yang dihasilkan berperilaku dengan benar dalam kasus di mana dua referensi / pointer memang alias. Misalnya, dalam kode C berikut, void adds(int *a, int *b) { *a += …

4
Kenapa tidak println! bekerja di tes unit Rust?
Saya telah menerapkan metode dan unit test berikut: use std::fs::File; use std::path::Path; use std::io::prelude::*; fn read_file(path: &Path) { let mut file = File::open(path).unwrap(); let mut contents = String::new(); file.read_to_string(&mut contents).unwrap(); println!("{}", contents); } #[test] fn test_read_file() { let path = &Path::new("/etc/hosts"); println!("{:?}", path); read_file(path); } Saya menjalankan tes unit dengan …
286 rust  println 



4
Bagaimana cara menonaktifkan peringatan kode yang tidak digunakan di Rust?
struct SemanticDirection; fn main() {} warning: struct is never used: `SemanticDirection` --> src/main.rs:1:1 | 1 | struct SemanticDirection; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: #[warn(dead_code)] on by default Saya akan mengaktifkan kembali peringatan ini untuk hal yang serius, tetapi saya hanya mengutak-atik bahasa dan ini membuat saya kelelawar. Saya mencoba menambahkan …


5
Bagaimana cara mencocokkan String dengan string literal di Rust?
Saya mencoba mencari cara untuk mencocokkan String di Rust. Saya awalnya mencoba mencocokkan seperti ini, tetapi saya tahu Rust tidak bisa secara implisit dilemparkan dari std::string::Stringke &str. fn main() { let stringthing = String::from("c"); match stringthing { "a" => println!("0"), "b" => println!("1"), "c" => println!("2"), } } Ini memiliki …
200 string  match  rust 



4
Paket karat dengan pustaka dan biner?
Saya ingin membuat paket Rust yang berisi pustaka yang dapat digunakan kembali (di mana sebagian besar program diimplementasikan), dan juga sebuah executable yang menggunakannya. Dengan asumsi saya tidak bingung semantik dalam sistem modul Rust, seperti apa Cargo.tomlfile saya ?
190 rust  rust-cargo 

7
Konversi string ke int di Rust?
Catatan: pertanyaan ini mengandung kode pra-1.0 yang sudah usang! Jawabannya benar. Untuk mengonversi a strmenjadi intdalam Rust, saya dapat melakukan ini: let my_int = from_str::<int>(my_str); Satu-satunya cara saya tahu cara mengonversikan Stringke intadalah dengan mendapatkan sepotong dan kemudian menggunakannya from_strseperti: let my_int = from_str::<int>(my_string.as_slice()); Apakah ada cara untuk secara langsung …
186 rust 

2
Apa aturan auto-dereferencing yang tepat dari Rust?
Saya belajar / bereksperimen dengan Rust, dan dalam semua keanggunan yang saya temukan dalam bahasa ini, ada satu kekhasan yang membingungkan saya dan tampaknya benar-benar tidak pada tempatnya. Karat secara otomatis referensi pointer saat membuat panggilan metode. Saya membuat beberapa tes untuk menentukan perilaku yang tepat: struct X { val: …

4
Apa perbedaan antara iter dan into_iter?
Saya melakukan tutorial Rust by Example yang memiliki cuplikan kode ini: // Vec example let vec1 = vec![1, 2, 3]; let vec2 = vec![4, 5, 6]; // `iter()` for vecs yields `&i32`. Destructure to `i32`. println!("2 in vec1: {}", vec1.iter() .any(|&x| x == 2)); // `into_iter()` for vecs yields `i32`. …
174 rust 


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.