Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Recursivo

Boa noite professor, não entendi muito bem o que quer dizer com recursivo, pode me ajudar?

1 resposta

Oi Rafael, tudo bem? O recursivo é um recurso onde a função faz um processamento em lote onde, para fazer em todos os níveos necessário, ela precisa ser ré-executada em um novo caminho.

Vamos pensar que você tem 5 pastas, uma dentro da outra:

pasta 1 > pasta 2 > pasta 3 > pasta 4 > pasta 5

O comando rm sozinho por exemplo, não pode apagar a pasta 1, por que ela não tá vazia. Considerando isso, precisaríamos ir até o nível da pasta 4, apagar a pasta 5 e voltar apagando as demais nível a nível.

Mas quando a gente faz rm -r por exemplo. O comando rm é executado de forma recursiva, ou seja, se dentro da pasta que quero apagar, houver uma outra pasta, ele vai entrar e apagar essa pasta filha antes de tentar apagar a pasta que selecionei primeiramente.

Nesse exemplo, ele ia tentar apagar a pasta 1, ia notar que existe a pasta 2, ia notar que existe a pasta 3, ia entrar pasta a pasta até chegar na 5, ver que não tem mais níveis, ai ia voltar pra 4, apagar a 5, voltar pra 3 e apagar a 4, voltar pra 2 e apagar a 3 e assim por diante.

A mesma ideia pode ser aplicada em busca de arquivos por exemplo.

O detalhe principal é que a função deve chamar a si mesma para executar a tarefa e ter um ponto de finalização, ou seja, em qual ponto ela deve parar? Quando apagar todos os arquivos e pastas ou quando encontrar o arquivo... Etc.

Deu para entender com esse novo exemplo?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software