Rullst AcademyRullst Academy/Lição
Rust II: dados, escolhas e confiança · Lição 12 / 12

Sua oficina de equipamentos

Agora as peças trabalham juntas: catálogo validado, retirada, devolução, relatório e testes. Sua missão é explicar tanto o caminho feliz quanto uma tentativa recusada.

Trilhas de aprendizado20 min

Vamos descobrir juntos

  1. 1

    Baixe o ZIP da atividade e extraia em uma pasta nova. Ele inclui Cargo.toml, src/main.rs, items.txt, README, caderno e guia GitHub. Na pasta de Cargo.toml, execute cargo test e cargo run --offline. Não há dependências externas.

  2. 2

    O programa começa com sensor;3 e motor;2. Retira uma unidade do primeiro equipamento, tenta retirar 20 e devolve uma. A tentativa impossível mantém o estado; o relatório final preserva a ordem do arquivo.

  3. 3

    cargo run --offline -- items.txt lê seu arquivo UTF-8. O parser aceita até 20 nomes únicos, com 1 a 40 valores escalares, sem controles nem ponto e vírgula; quantidades de 1 a 20. Linhas vazias são ignoradas; um registro inválido recusa o conjunto todo.

  4. 4

    É uma simulação local, sem contas, rede, banco de dados ou persistência de empréstimos. O programa lê dados e imprime; não altera items.txt. Salve suas mudanças no editor e registre resultados no caderno. A publicação pelo painel envia um arquivo por vez, após sua confirmação.

DA LIÇÃO PARA A PRÁTICA

Guia para acompanhar no seu ritmo

Leia os passos antes de usar a referência abaixo. Comandos são executados no terminal do sistema indicado; o cadastro acontece no site oficial. Os exercícios da Rullst Academy são treino e não verificam sua instalação ou conta externa.

fn main() {
    let total = 3_u16;
    let mut available = total;
    available -= 1;
    println!("{available}");
    let request = 20;
    if request <= available { available -= request; }
    println!("{available}");
    if available < total { available += 1; }
    println!("{available}");
}

Links oficiais e próximo passo

✦
SUA MISSÃO

Executar, testar e modificar um projeto Rust completo com dados fictícios.

Agora é a sua vez

Oficina de descobertas

Leia, preveja, investigue

Preveja antes de mostrar. Este painel revela resultados preparados, não compila seu código. Erros de compilação são resumidos; o texto exato pode variar com a versão do compilador.
Mini experimento

Simulação didática: compare os cartões e confira suas previsões. O navegador não está compilando Rust nem iniciando um servidor.

fn main() {
    let total = 3_u16;
    let mut available = total;
    available -= 1;
    println!("{available}");
    let request = 20;
    if request <= available { available -= request; }
    println!("{available}");
    if available < total { available += 1; }
    println!("{available}");
}
Monte suas respostas e confira quando estiver pronto.
Uma pausa para entender

Qual evidência mostra que uma retirada recusada preservou o estado?

Preciso de uma pista

Um erro pode ser informado depois de uma alteração indevida; confira também os dados.

Carregando sua jornada…

Como perceber o que aprendi?

Use os objetivos e o desafio abaixo como uma conversa com você mesmo ou com alguém que possa ajudar. É uma autoavaliação orientada: não envia respostas, não concede XP e não verifica automaticamente sua autonomia.

Em Fundamentos, altere um exemplo, preveja o resultado, confira um caso comum e um caso de erro, e explique suas escolhas. Se precisar de ajuda, identifique o trecho que quer praticar novamente.

Seu desafio de transferência

Crie um catálogo com três equipamentos fictícios. Teste vazio, duplicata e quantidade 21. Acrescente uma sequência de retiradas/devoluções e um teste que falhe se uma operação recusada mudar o estado. Explique uma limitação e publique opcionalmente com README; não inclua dados pessoais.

Guarde uma evidência: previsão, tentativa, resultado, uma mudança sua e o que ainda não consegue explicar. Quando possível, peça feedback a alguém; se estudar sozinho, retome depois sem copiar e compare suas tentativas.

Tente de novo em outro momento

Depois de uma pausa, explique a ideia sem abrir a solução e tente um exemplo diferente. Compare com sua primeira tentativa: o que consegue fazer sozinho e onde precisa de uma pista? Você pode escrever, falar ou desenhar; escolha uma forma que permita conferir a mesma ideia. Registre ajuda recebida, inclusive de IA, e volte ao trecho necessário. Não há prazo universal nem XP extra por esse registro.

Conclusões e XP registram as avaliações da Rullst Academy. Uma trilha introdutória pode ajudar na vida cotidiana e preparar próximos estudos; sozinha não comprova domínio completo ou preparo profissional. O nível indica profundidade, não idade.

Leve com você

Crie um catálogo com três equipamentos fictícios. Teste vazio, duplicata e quantidade 21. Acrescente uma sequência de retiradas/devoluções e um teste que falhe se uma operação recusada mudar o estado. Explique uma limitação e publique opcionalmente com README; não inclua dados pessoais.

RUST II · .rs

Sua bancada Rust II

Leia, preveja e responda aqui. Para compilar de verdade, extraia o ZIP da atividade em uma pasta nova, abra o terminal ao lado de Cargo.toml e use os comandos abaixo. Rust e as ferramentas do seu sistema precisam estar instalados.

cargo check --offline
cargo test --offline
cargo run --offline
Meus arquivos e GitHub

O editor abaixo salva um rascunho neste navegador e permite baixar ou publicar seu .rs. Para executá-lo no projeto, salve o arquivo editado como src/main.rs. O ZIP contém a versão inicial; os resultados preparados não mudam com suas edições. A avaliação online não comprova execução local.

No seu ritmo

Meus arquivos e GitHub

Toda lição pode virar um registro seu: código, anotações ou um plano de prática. Guardar um arquivo no GitHub é opcional e não altera seu XP.

Manual do aluno

O editor e os downloads abrem quando esta lição estiver liberada para sua conta. Confira o acesso abaixo ou volte ao mapa da trilha.

Conferindo seu acesso à lição…

Rullstpetbot

A IA pode errar. Confira no material da lição.