Boa noite professor, não entendi muito bem o que quer dizer com recursivo, pode me ajudar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite professor, não entendi muito bem o que quer dizer com recursivo, pode me ajudar?
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 5O 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?