En tant que golfeurs de code, nous ne sommes pas habitués à libérer ( sûrement ). Nous aurons besoin de quelques outils pour nous aider à le faire.
Bien entendu, pour aider à la commercialisation d'une nouvelle version, nous avons besoin d'une version agréable et brillante. Qui ne s'énerve pas quand ils entendent parler de la version 3.0.0?
Tâche
Votre tâche sera d'écrire un programme / routine / ... pour incrémenter un numéro de version.
Vous devez incrémenter le numéro de version et réinitialiser les versions "moins importantes" (c.-à-d. La version du correctif).
Vous obtenez deux arguments: la version actuelle (ex "1.0.3") sous forme de chaîne et un index pour savoir lequel mettre à jour (0 ou 1-indexé).
Exemple, indexé 0:
next-version("1.0.3", 0) # 2.0.0
next-version("1.2.3.4.5", 2) # 1.2.4.0.0
next-version("10.0", 0) # 11.0
next-version("3", 0) # 4
next-version("1", 7) # ERROR
next-version("01", 0) # ERROR
La version est une chaîne, chaque partie est un nombre, séparé par un point. Il ne peut y avoir aucun point d’avant, aucun point de fuite ou aucun point consécutif (et rien en dehors des nombres / points). Il n'y a pas de limite à la taille de la chaîne de version.
^[1-9]\d*(\.[1-9]\d*)*$
Le cas d'erreur (les deux derniers exemples) est un comportement indéfini. Que se passe-t-il en cas de mauvaise saisie n’a aucune pertinence pour ce défi?
Comme d'habitude, les échappatoires standard sont interdites. Vous êtes autorisé à imprimer ou à retourner la chaîne.