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].

1
Quando una chiusura implementa Fn, FnMut e FnOnce?
Quali sono le condizioni specifiche per una chiusura a implementare la Fn, FnMute FnOncetratti? Questo è: Quando una chiusura non implementa il FnOncetratto? Quando una chiusura non implementa il FnMuttratto? Quando una chiusura non implementa il Fntratto? Ad esempio, la modifica dello stato della chiusura sul suo corpo impedisce al …
114 rust  closures 


5
È possibile utilizzare variabili globali in Rust?
So che in generale le variabili globali devono essere evitate. Tuttavia, penso in senso pratico, a volte è auspicabile (in situazioni in cui la variabile è parte integrante del programma) utilizzarli. Per imparare Rust, sto attualmente scrivendo un programma di test del database usando sqlite3 e il pacchetto Rust / …

2
Come utilizzare una cassa locale inedita?
Ho creato una libreria: cargo new my_lib e voglio usare quella libreria in un programma diverso: cargo new my_program --bin extern crate my_lib; fn main { println!("Hello, World!"); } cosa devo fare per farlo funzionare? Non sono nella stessa cartella del progetto. . ├── my_lib └── my_program Si spera che …


1
Come cercare e inserire in una HashMap in modo efficiente?
Mi piacerebbe fare quanto segue: Cerca una Vecdeterminata chiave e conservala per un uso successivo. Se non esiste, crea un vuoto Vecper la chiave, ma tienilo comunque nella variabile. Come farlo in modo efficiente? Naturalmente ho pensato di poter usare match: use std::collections::HashMap; // This code doesn't compile. let mut …
102 hashmap  rust  lookup 

5
Suddividi un modulo su più file
Voglio avere un modulo con più strutture in esso, ciascuna nel proprio file. Utilizzando un Mathmodulo come esempio: Math/ Vector.rs Matrix.rs Complex.rs Voglio che ogni struttura si trovi nello stesso modulo, che userei dal mio file principale, in questo modo: use Math::Vector; fn main() { // ... } Tuttavia il …
102 module  rust 



1
Richiami idiomatici in Rust
In C / C ++ normalmente farei callback con un semplice puntatore a funzione, magari passando anche un void* userdataparametro. Qualcosa come questo: typedef void (*Callback)(); class Processor { public: void setCallback(Callback c) { mCallback = c; } void processEvents() { for (...) { ... mCallback(); } } private: Callback …
100 callback  rust 

2
È possibile rendere un tipo solo mobile e non copibile?
Nota dell'editore : questa domanda è stata posta prima di Rust 1.0 e alcune delle asserzioni nella domanda non sono necessariamente vere in Rust 1.0. Alcune risposte sono state aggiornate per affrontare entrambe le versioni. Ho questa struttura struct Triplet { one: i32, two: i32, three: i32, } Se lo …
96 rust 

3
Cosa ha Rust invece di un garbage collector?
Capisco che Rust non abbia un garbage collector e mi chiedo come viene liberata la memoria quando un binding esce dall'ambito. Quindi in questo esempio, capisco che Rust recupera la memoria assegnata a "a" quando esce dall'ambito. { let a = 4 } Il problema che sto avendo con questo, …
95 rust 

1
Cos'è un "fat pointer"?
Ho già letto il termine "fat pointer" in diversi contesti, ma non sono sicuro di cosa significhi esattamente e quando sia usato in Rust. Il puntatore sembra essere due volte più grande di un normale puntatore, ma non capisco perché. Sembra anche avere qualcosa a che fare con gli oggetti …
95 pointers  rust 


2
Quali sono i tipi di ruggine indicati con un singolo apostrofo?
Ho incontrato diversi tipi in Rust indicati con un singolo apostrofo: 'static 'r 'a Qual è il significato di quell'apostrofo? Forse è un modificatore di riferimenti ( &)? Digitazione generica specifica per i riferimenti? Non ho idea di dove si nasconda la documentazione per questo.
94 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.