Rullst AcademyRullst Academy/Lição
Rust: da ideia ao programa · Lição 05 / 08

Uma função, uma responsabilidade

A mesma regra de pontos aparece em várias telas. Podemos escrever a regra uma vez, dar um nome a ela e testar seu comportamento.

Vamos descobrir juntos

  1. 1

    fn total(items: u32, each: u32) -> u32 define uma função chamada total. Ela recebe dois inteiros não negativos e devolve outro. Os nomes descrevem o papel de cada entrada.

  2. 2

    O corpo { items * each } multiplica as entradas. A última expressão, sem ponto e vírgula, vira o valor devolvido. return também existe, mas não é necessário aqui.

  3. 3

    Chamar total(3, 4) coloca 3 em items e 4 em each. A função devolve 12. Devolver um valor não é o mesmo que mostrá-lo: println! cuida da exibição.

  4. 4

    Uma função pequena facilita testar casos normais e de fronteira. Nosso exemplo usa quantidades pequenas; para uma aplicação real também precisaríamos definir limites e tratar possíveis estouros numéricos.

✦
SUA MISSÃO

Leia entradas e saída de uma função e calcule três chamadas, incluindo uma entrada zero.

Agora é a sua vez

Oficina de descobertas

Uma regra, três chamadas

Função: fn total(items: u32, each: u32) -> u32 { items * each }. Todos os valores desta atividade cabem no tipo.
Monte suas respostas e confira quando estiver pronto.
Uma pausa para entender

Qual trecho devolve a multiplicação como expressão final?

Preciso de uma pista

Nesta forma de retorno, a expressão final não termina com ;.

Carregando sua jornada…

Leve com você

Dê um nome claro a uma função que recebe uma quantidade e devolve o dobro. Escreva dois exemplos de entrada e saída antes de escrever o corpo.

Quero ver o Rust por trás

Esta parte é opcional. Não precisa decorar o código para continuar.

fn total(items: u32, each: u32) -> u32 {
    items * each
}

fn main() {
    println!("{}", total(3, 4));
}
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.