Resultados da pesquisa a pedido "rust"

2 a resposta

Dividir uma string mantendo os separadores

Existe uma maneira trivial de dividir uma string mantendo os separadores? Em vez disso: let texte = "Ten. Million. Questions. Let's celebrate all we've done together."; let v: Vec<&str> = texte.split(|c: char| !(c.is_alphanumeric() || c ...

2 a resposta

Por que não consigo armazenar um valor e uma referência a esse valor na mesma estrutura?

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

2 a resposta

Como iterar sobre todos os valores de byte (overflowing_literals em `0..256`)

Estou tentando repetir todos os bytes possíveis (u8) valores. Infelizmente meus literais de intervalo em0..256 são lançados parau8 e256 estouros: fn foo(byte: u8) { println!("{}", byte); } fn main() { for byte in 0..256 { foo(byte); ...

2 a resposta

Como posso corrigir o erro E0277: a característica vinculada `[usize]: std :: marker :: Sized` não é satisfeita?

Estou tentando passar uma matriz para uma função: fn my_func(xs: [usize]) -> usize { 0 } fn main() { let arr = [329, 457, 657]; let res = my_func(inp); }Eu recebo o erro: error[E0277]: the trait bound `[usize]: std::marker::Sized` is not ...

1 a resposta

Não é possível sair do conteúdo emprestado ao desembrulhar

Este é o código que estou tentando executar: fn my_fn(arg1: &Option<Box<i32>>) -> (i32) { if arg1.is_none() { return 0; } let integer = arg1.unwrap(); *integer } fn main() { let integer = 42; my_fn(&Some(Box::new(integer))); }(no playground ...

2 a resposta

Como chamar o método com & mut self de dentro de outro método do mesmo tipo?

eu tenho umaScanner estrutura que tem umscan(&mut self) método implementado. Se parece com isso. pub struct Scanner { input: String, output: Vec<String>, state: ScannerState, } impl Scanner { pub fn scan(&mut self) { self.state = ...

1 a resposta

Como posso manter uma referência a uma chave depois que ela foi inserida em um HashMap?

Eu quero inserir em um HashMap, mas manter um empréstimo imutável da chave para passar para lugares. No meu caso, as chaves são cordas. Esta é uma maneira: use std::collections::HashMap; let mut map = HashMap::new(); let id ...

1 a resposta

Empréstimos mutáveis parecem sobreviver ao seu escopo

Tentando compilar este programa, fico preso no verificador de empréstimo: use std::collections::BTreeMap; type Object<'a> = BTreeMap<&'a str, i32>; struct Root<'a>(Object<'a>); struct Sub<'a>(&'a mut Object<'a>, &'a str); impl<'a> Root<'a> { fn ...

1 a resposta

Qual é a maneira idiomática mais rápida de alterar vários campos struct ao mesmo tempo?

Muitas bibliotecas permitem definir um tipo que implementa um determinadotrait para ser usado como manipulador de retorno de chamada. Isso exige que você agrupe todos os dados necessários para manipular o evento juntos em um único tipo de dados, ...

2 a resposta

Problema de tipo com a coleta do Iterator

Estou tentando converter um vetor de&str pares em umHashMap com o seguinte snippet de código: use std::collections::HashMap; fn main() { let pairs = vec!(("foo", "bar"), ("toto", "tata")); let map: HashMap<&str, &str> = ...