Perguntas com a marcação «rust»

Rust é uma linguagem de programação de sistemas sem um coletor de lixo focada em três objetivos: segurança, velocidade e concorrência. Use esta tag para perguntas sobre o código escrito em Rust. Use uma tag específica da edição para perguntas que se refiram ao código que requer uma edição específica, como [rust-2018]. Use tags mais específicas para subtópicos como [rust-cargo] e [rust-macros].

1
Qual é a maneira correta de retornar um Iterador (ou qualquer outra característica)?
O seguinte código Rust é compilado e executado sem problemas. fn main() { let text = "abc"; println!("{}", text.split(' ').take(2).count()); } Depois disso, tentei algo assim ... mas não compilou fn main() { let text = "word1 word2 word3"; println!("{}", to_words(text).take(2).count()); } fn to_words(text: &str) -> &Iterator<Item = &str> { …
114 rust 



4
Como faço para usar uma macro em arquivos de módulo?
Tenho dois módulos em arquivos separados dentro da mesma caixa, onde a caixa foi macro_rulesativada. Quero usar as macros definidas em um módulo em outro módulo. // macros.rs #[macro_export] // or not? is ineffectual for this, afaik macro_rules! my_macro(...) // something.rs use macros; // use macros::my_macro; <-- unresolved import (for …
105 module  rust  rust-macros 

5
É possível usar variáveis ​​globais no Rust?
Eu sei que, em geral, as variáveis ​​globais devem ser evitadas. No entanto, acho que em um sentido prático, às vezes é desejável (em situações em que a variável é parte integrante do programa) usá-los. Para aprender Rust, estou atualmente escrevendo um programa de teste de banco de dados usando …

3
Como posso construir vários binários com Cargo?
Eu gostaria de fazer um projeto com a daemone a client, conectando através de um soquete unix. A cliente a daemonrequerem dois binários, então como posso dizer Cargopara construir dois destinos de duas fontes diferentes? Para adicionar um pouco de fantasia, gostaria de ter um librarypara a parte principal do …
104 rust  rust-cargo 

2
Como usar uma caixa local não publicada?
Eu fiz uma biblioteca: cargo new my_lib e quero usar essa biblioteca em um programa diferente: cargo new my_program --bin extern crate my_lib; fn main { println!("Hello, World!"); } o que eu preciso fazer para que isso funcione? Eles não estão na mesma pasta de projeto. . ├── my_lib └── …


1
Como pesquisar e inserir em um HashMap de forma eficiente?
Eu gostaria de fazer o seguinte: Procure uma Vecdeterminada chave e armazene-a para uso posterior. Se não existir, crie um vazio Vecpara a chave, mas ainda mantenha-o na variável. Como fazer isso de forma eficiente? Naturalmente, pensei que poderia usar match: use std::collections::HashMap; // This code doesn't compile. let mut …
102 hashmap  rust  lookup 

5
Divida um módulo em vários arquivos
Quero ter um módulo com várias estruturas, cada uma em seu próprio arquivo. Usando um Mathmódulo como exemplo: Math/ Vector.rs Matrix.rs Complex.rs Quero que cada estrutura esteja no mesmo módulo, que usaria do meu arquivo principal, assim: use Math::Vector; fn main() { // ... } No entanto, o sistema de …
102 module  rust 


1
Chamadas idiomáticas em Rust
Em C / C ++, eu normalmente faria callbacks com um ponteiro de função simples, talvez passando um void* userdataparâmetro também. Algo assim: typedef void (*Callback)(); class Processor { public: void setCallback(Callback c) { mCallback = c; } void processEvents() { for (...) { ... mCallback(); } } private: Callback …
101 callback  rust 



2
É possível tornar um tipo apenas móvel e não copiável?
Nota do Editor : esta pergunta foi feita antes do Rust 1.0 e algumas das afirmações na pergunta não são necessariamente verdadeiras no Rust 1.0. Algumas respostas foram atualizadas para atender às duas versões. Eu tenho esta estrutura struct Triplet { one: i32, two: i32, three: i32, } Se eu …
96 rust 

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.