Um Pequeno Exemplo
Aqui está um pequeno programa de exemplo em Rust:
fn main() { // Ponto de entrada do programa let mut x: i32 = 6; // Atribuição de uma variável mutável print!("{x}"); // Macro para escrever na tela, como printf while x != 1 { // Sem parênteses ao redor de expressões if x % 2 == 0 { // Matemática como em outras linguagens x = x / 2; } else { x = 3 * x + 1; } print!(" -> {x}"); } println!(); }
O código implementa a conjectura de Collatz: acredita-se que o loop sempre termina, mas isso ainda não está provado. Edite o código e tente diferentes entradas.
Pontos chave:
-
Explique que todas as variáveis tipadas estaticamente. Tente remover
i32para acionar a inferência de tipo. Em vez disso, tente comi8e cause um estouro de número inteiro (integer overflow) em tempo de execução. -
Altere
let mut xparalet x, discuta o erro do compilador. -
Mostre como
print!cause um erro de compilação se os argumentos não corresponderem à string de formato. -
Mostre como você precisa usar
{}como um espaço reservado se quiser imprimir uma expressão que seja mais complexa do que apenas uma única variável. -
Mostre aos alunos a biblioteca padrão (standard library), mostre como pesquisar
std::fmt, o qual possui as regras da mini-linguagem de formatação. É importante que os alunos se familiarizem com pesquisas na biblioteca padrão.- Em um shell
rustup doc std::fmtabrirá um navegador na documentação std::fmt local.
- Em um shell