Domande taggate «rust»

Rust è un linguaggio di programmazione di sistemi senza garbage collector focalizzato su tre obiettivi: sicurezza, velocità e concorrenza. Usa questo tag per domande sul codice scritto in Rust. Utilizzare un tag specifico dell'edizione per domande che si riferiscono al codice che richiede un'edizione particolare, come [rust-2018]. Utilizzare tag più specifici per argomenti secondari come [rust-cargo] e [rust-macros].


5
Perché i file eseguibili di Rust sono così enormi?
Dopo aver trovato Rust e aver letto i primi due capitoli della documentazione, trovo particolarmente interessante l'approccio e il modo in cui hanno definito la lingua. Così ho deciso di bagnarmi le dita e ho iniziato con Hello world ... L'ho fatto su Windows 7 x64, a proposito. fn main() …
153 rust  rust-cargo 


5
Come divido una stringa in Rust?
Dalla documentazione , non è chiaro. In Java è possibile utilizzare il splitmetodo in questo modo: "some string 123 ffd".split("123");
145 rust 

3
Come si crea un singleton globale e mutevole?
Qual è il modo migliore per creare e utilizzare una struttura con una sola istanza nel sistema? Sì, è necessario, è il sottosistema OpenGL, e fare più copie di questo e passarlo ovunque aggiungerebbe confusione, piuttosto che alleviarlo. Il singleton deve essere il più efficiente possibile. Non sembra possibile memorizzare …
140 rust 

1
Qual è il modo di fatto di leggere e scrivere file in Rust 1.x?
Con Rust relativamente nuovo, ho visto troppi modi di leggere e scrivere file. Molti sono frammenti estremamente disordinati che qualcuno ha inventato per il loro blog e il 99% degli esempi che ho trovato (anche su Stack Overflow) provengono da build instabili che non funzionano più. Ora che Rust è …
136 file-io  rust 


3
Come includere un modulo da un altro file dello stesso progetto?
Seguendo questa guida ho creato un progetto Cargo. src/main.rs fn main() { hello::print_hello(); } mod hello { pub fn print_hello() { println!("Hello, world!"); } } che corro usando cargo build && cargo run e si compila senza errori. Ora sto cercando di dividere il modulo principale in due ma non …
130 rust 


3
Qual è la differenza tra Copia e Clona?
Questo problema sembra implicare che sia solo un dettaglio di implementazione ( memcpyrispetto a ???), ma non riesco a trovare alcuna descrizione esplicita delle differenze.
128 rust 

1
Impossibile spostarsi dal contenuto preso in prestito / impossibile spostarsi da dietro un riferimento condiviso
Non capisco l'errore cannot move out of borrowed content. L'ho ricevuto molte volte e l'ho sempre risolto, ma non ho mai capito il perché. Per esempio: for line in self.xslg_file.iter() { self.buffer.clear(); for current_char in line.into_bytes().iter() { self.buffer.push(*current_char as char); } println!("{}", line); } produce l'errore: error[E0507]: cannot move out …

2
Perché è sconsigliato accettare un riferimento a String (& String), Vec (& Vec) o Box (& Box) come argomento di una funzione?
Ho scritto del codice Rust che prende &Stringcome argomento: fn awesome_greeting(name: &String) { println!("Wow, you are awesome, {}!", name); } Ho anche scritto codice che prende in riferimento a un Veco Box: fn total_price(prices: &Vec<i32>) -> i32 { prices.iter().sum() } fn is_even(value: &Box<i32>) -> bool { **value % 2 == …

3
Qual è l'equivalente dell'operatore di unione su un vettore di stringhe?
Non sono riuscito a trovare l'equivalente Rust per l'operatore "join" su un vettore di Strings. Ho un Vec<String>e mi piacerebbe unirmi a loro come single String: let string_list = vec!["Foo".to_string(),"Bar".to_string()]; let joined = something::join(string_list,"-"); assert_eq!("Foo-Bar", joined); Relazionato: Qual è un modo idiomatico per stampare un iteratore separato da spazi in …
120 string  rust 

2
Cosa fa 'let x = x' in Rust?
Ho visto questo codice in natura : fields.sort_by_key(|&(_, ref field)| field.tags().into_iter().min().unwrap()); let fields = fields; Cosa fa la let fields = fields;linea? Perché c'è?
117 rust 

1
Qual è il modo corretto per restituire un Iteratore (o qualsiasi altro tratto)?
Il seguente codice Rust si compila e funziona senza problemi. fn main() { let text = "abc"; println!("{}", text.split(' ').take(2).count()); } Dopodiché, ho provato qualcosa di simile ... ma non si è compilato fn main() { let text = "word1 word2 word3"; println!("{}", to_words(text).take(2).count()); } fn to_words(text: &str) -> &Iterator<Item …
114 rust 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.