Por que Rust tem Stringe str? Quais são as diferenças entre Stringe str? Quando alguém usa em Stringvez de stre vice-versa? Um deles está sendo
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].
Por que Rust tem Stringe str? Quais são as diferenças entre Stringe str? Quando alguém usa em Stringvez de stre vice-versa? Um deles está sendo
Eu tenho uma chamada de serviço da web simples, gerada por um aplicativo do Windows .NET (C #) 2.0, por meio do proxy de serviço da web gerado pelo Visual Studio, para um serviço da Web também escrito em C # (2.0). Isso funcionou por vários anos e continua a fazê-lo em cerca de uma dúzia de locais...
Até onde eu sei, o aliasing de referência / ponteiro pode prejudicar a capacidade do compilador de gerar código otimizado, pois eles devem garantir que o binário gerado se comporte corretamente no caso em que as duas referências / ponteiros realmente sejam alias. Por exemplo, no código C a...
Implementei o seguinte método e teste de unidade: 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!("{}",...
Eu tenho o seguinte: let mut my_number = 32.90; Como imprimo o tipo de my_number ? Usando typee type_ofnão funcionou. Existe outra maneira de imprimir o tipo do
Ao executar um loop de soma em uma matriz no Rust, notei uma enorme queda de desempenho quando CAPACITY> = 240. CAPACITY= 239 é cerca de 80 vezes mais rápido. Existe otimização de compilação especial que Rust está fazendo para matrizes "curtas"? Compilado com rustc -C opt-level=3. use...
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 Vou ativar esses avisos novamente por qualquer coisa séria, mas estou...
Eu tenho um valor e quero armazenar esse valor e uma referência a algo dentro desse valor no meu próprio tipo: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing,...
Como concatenar as seguintes combinações de tipos: str e str String e str String e
Eu estava lendo o capítulo de duração do livro Rust e me deparei com este exemplo por uma vida nomeada / explícita: struct Foo<'a> { x: &'a i32, } fn main() { let x; // -+ x goes into scope // | { // | let y = &5; // ---+ y goes into scope let f = Foo { x: y }; // ---+ f goes...
Estou tentando descobrir como combinar um Stringno Rust. Inicialmente, tentei combinar dessa maneira, mas descobri que Rust não pode implicitamente lançar de std::string::Stringpara &str. fn main() { let stringthing = String::from("c"); match stringthing { "a" => println!("0"), "b"...
Eu gostaria de criar um pacote Rust que contenha uma biblioteca reutilizável (onde a maior parte do programa é implementada) e também um executável que o utilize. Supondo que não tenha confundido nenhuma semântica no sistema do módulo Rust, como deve ser meu
Nota: esta pergunta contém código pré-1.0 obsoleto! A resposta está correta, no entanto. Para converter um strpara um intem Rust, eu posso fazer isso: let my_int = from_str::<int>(my_str); A única maneira de saber como converter um Stringpara um inté obter uma fatia e usá from_str-la da...
Estou aprendendo / experimentando o Rust e, com toda a elegância que encontro neste idioma, há uma peculiaridade que me confunde e parece totalmente fora de lugar. O Rust desreferencia automaticamente os ponteiros ao fazer chamadas de método. Fiz alguns testes para determinar o comportamento...
Estou fazendo o tutorial Rust by Example que possui esse trecho de código: // 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...
Traços em Rust parecem pelo menos superficialmente semelhantes às classes de letras em Haskell, no entanto, vi pessoas escreverem que existem algumas diferenças entre eles. Fiquei me perguntando exatamente quais são essas
Tendo encontrado Rust e tendo lido os dois primeiros capítulos da documentação, acho a abordagem e a maneira como eles definiram a linguagem particularmente interessante. Então eu decidi molhar meus dedos e comecei com Hello world ... Eu fiz isso no Windows 7 x64, aliás. fn main() {...
O tutorial Rust não explica como obter parâmetros da linha de comando. fn main()é mostrado apenas com uma lista de parâmetros vazia em todos os exemplos. Qual é a maneira correta de acessar os parâmetros da linha de comando
Como você acessa os metadados de um pacote Cargo (por exemplo, versão) a partir do código Rust no pacote? No meu caso, estou criando uma ferramenta de linha de comando da qual gostaria de ter um --versionsinalizador padrão e gostaria que a implementação lesse a versão do pacote Cargo.tomlpara não...
A partir da documentação , não está claro. Em Java, você pode usar o splitmétodo da seguinte maneira: "some string 123