Esiste qualche equivalente di Object.keys() di JS per Rust's struct?Come ottenere nomi di campi struct in Rust?
Ho bisogno di qualcosa per generare intestazioni CSV (io uso rust-csv) dai nomi dei campi della struttura.
struct Export {
first_name: String,
last_name: String,
gender: String,
date_of_birth: String,
address: String
}
//... some code
let mut wrtr = Writer::from_file("/home/me/export.csv").unwrap().delimiter(b'\t');
wrtr.encode(/* WHAT TO WRITE HERE TO GET STRUCT NAMES as tuple of strings or somethings */).is_ok()
Non è possibile farlo senza un plugin * rustc * (funziona solo di notte). – mcarton
Grazie a @mcarton. Leggerò di [Compiler Plugins] (https://doc.rust-lang.org/book/compiler-plugins.html). Mi piace davvero mantenere certi dati in un posto, quindi usare il nome del campo potrebbe essere ottimo. E potrei passare alla notte, quindi ogni aiuto è apprezzato. –
Improbabile che abbia bisogno di un plug-in per il compilatore per il vostro attuale utilizzo; può probabilmente usare '# [derive (RustcDecodable)]' come [descritto nel repository] (https://github.com/BurntSushi/rust-csv). Tuttavia, non risponde alla domanda che stai ponendo, che è un modo generico di elencare ** qualsiasi ** nome di campo delle strutture. Il mio vecchio amico, il [XY Problem] (http://xyproblem.info/). – Shepmaster