Recapitulação - Encontrar a Primeira Palavra
Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 58 de 66.
Desafio
FácilVocê receberá uma única entrada contendo uma frase com várias palavras separadas por espaços. Encontre e imprima a primeira palavra da frase usando fatiamento de string (string slicing).
Requisitos:
- Leia a frase de entrada e remova os espaços em branco (trim)
- Encontre a posição do primeiro espaço na frase
- Crie um slice de string do início da frase até (mas não incluindo) o primeiro espaço
- Imprima a primeira palavra
Dica: Você pode usar o método .find() para localizar o primeiro caractere de espaço. Chame-o assim: sentence.find(' '), passando um caractere de espaço como argumento. Este método retorna um Option que contém o índice se um espaço for encontrado. Use .unwrap_or(sentence.len()) para lidar com casos onde pode não haver espaço (palavra única), definindo como padrão o comprimento total da frase.
Entrada:
- Uma frase com uma ou mais palavras separadas por espaços (ex:
Hello World from Rust)
Saída:
- A primeira palavra da frase
Experimente você mesmo
use std::io::{self, BufRead};
fn main() {
// Ler a entrada
let stdin = io::stdin();
let sentence = stdin.lock().lines().next().unwrap().unwrap().trim().to_string();
// TODO: Escreva seu código abaixo
// Encontrar a posição do primeiro espaço
// Criar um slice de string do início até o primeiro espaço
// Armazenar a primeira palavra em uma variável
// Imprimir a primeira palavra
// println!("{}", first_word);
}Todas as lições de Logic & Flow
1Fluxo de Controle Avançado
A Expressão 'match'Correspondência de Múltiplos ValoresCorrespondência de IntervalosA Expressão 'if let'Loops como ExpressõesRecapitulação - Parser de Comandos Simples4Agrupando Dados com Structs
O que é uma Struct?Visão Geral de StructsAcessando Campos de uma StructStructs MutáveisStructs como Parâmetros de FunçãoTuple StructsRecapitulação - Criando uma Struct Book2Introdução a Vetores
O que é um Vetor?Criando um VetorAdicionando Elementos com pushAcessando Elementos do VetorIterando sobre um VetorIteração MutávelRemovendo ElementosRecapitulação - Rastreador de Pontuação Básico5Pares Chave-Valor com Hash Maps
O que é um Hash Map?Criando um Hash MapInserindo Pares Chave-ValorAcessando ValoresIterando sobre um Hash MapAtualizando um ValorRemovendo um ParRecapitulação - Contador de Palavras8Projeto: Inventário Simples de Itens
Configuração do ProjetoAdicionando um ItemVerificando o EstoqueVendendo um ItemJuntando tudo3Lista de Tarefas via Linha de Comando
Configuração do ProjetoAdicionando uma TarefaVisualizando Todas as TarefasRemovendo uma TarefaCódigo Final6Lidando com a Ausência com 'Option'
O que é um 'Option'?Usando 'match' com 'Option'is_some() e is_none()Fazendo o unwrap de um 'Option'O método expectFornecendo um valor padrão: unwrap_orRecapitulação - Encontrar um Elemento9Slices de String e Mais
String vs. &strCriando Slices de StringSlices como Parâmetros de FunçãoOutros SlicesRecapitulação - Encontrar a Primeira Palavra