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
i32
para acionar a inferência de tipo. Em vez disso, tente comi8
e cause um estouro de número inteiro (integer overflow) em tempo de execução. -
Altere
let mut x
paralet 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::fmt
abrirá um navegador na documentação std::fmt local.
- Em um shell