Como retornar ao índice zero sem usar uma estrutura condicional
Um truque simples para simplificar o seu código.
Utilizarei sintaxe Java para os exemplos.
Imagine que você tenha um vetor e precisa que o índice volte a zero quando já estiver no último índice.
Provavelmente faria isto:
if( indice == vetor.length ){
indice = 0;
} else {
indice ++;
}
Ou usaria um ternário:
indice = indice == vetor.length ? 0 : indice ++;
Mas podemos, simplesmente, usar o operador MÓDULO para definir o valor do índice.
indice = (indice + 1) % vetor.length;
Como isto acontece?
O resto de um inteiro dividido por um inteiro maior, usando o operador MÓDULO, é ele mesmo. E o resto de um número dividido por ele mesmo será sempre zero.
Sendo assim podemos concluir que quando o indice+1 alcançar o tamanho do vetor voltará a ser ser zero, começando o ciclo novamente.
Espero que gostem da dica.
Quem NÃO sabia disto levante o dedo ☝.
Quem souber outro truque para simplificar códigos compartilhe aqui com agente.
Bons códigos.