Javascript: The Modulo Bug
Il modulo, o quoto (insomma, il resto di una divisione) è una freccia indispensabile nella faretra di ogni programmatore. Viene da chiedersi perché, e il motivo è semplicissimo: i cicli.
Mettiamo che abbiamo 5 elementi, con indice 0-based (quindi gli elementi 0, 1, 2, 3 e 4). Ora, se vogliamo una situazione ciclica per cui dall'ultimo elemento torniamo al primo, possiamo fare calcoli complicati. Oppure usare il modulo e risolverci il problema.
Possiamo quindi continuare a sommare all'indice corrente e rimarremmo sempre entro i nostri cinque elementi.
Ma cosa succede se torniamo indietro, scendendo sotto zero? In Ruby abbiamo il comportamento corretto:
JavaScript invece questa cosa non l'apprezza.
Per raggirare questo bug, bisogna sommare il modulo al risultato del primo modulo e di nuovo fare il modulo del risultato. E magari crearsi una funzioncina comoda comoda.