Como golfistas de código, no estamos acostumbrados a lanzar ( seguramente ). Necesitaremos algunas herramientas para ayudarnos a hacer eso.
Por supuesto, para ayudar a comercializar un nuevo lanzamiento, necesitamos una versión de lanzamiento agradable y brillante. ¿Quién no se emociona cuando escuchan sobre la versión 3.0.0?
Tarea
Su tarea será escribir un programa / rutina / ... para incrementar un número de versión.
Debe incrementar el número de versión y restablecer los "menos importantes" (es decir, la versión del parche).
Obtiene dos argumentos: la versión actual (por ejemplo, "1.0.3") como una cadena, y un índice para saber cuál actualizar (indexado 0 o 1).
Ejemplo, 0 indexado:
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 versión es una cadena, cada parte es un número, separado con un punto. No puede haber puntos iniciales, finales o no consecutivos (y nada fuera de números / puntos). No hay límite para el tamaño de la cadena de versión.
^[1-9]\d*(\.[1-9]\d*)*$
El caso de error (los dos últimos ejemplos) es un comportamiento indefinido. Lo que sucede en caso de entradas incorrectas no es relevante para este desafío.
Como de costumbre, las lagunas estándar están prohibidas. Se le permite imprimir o devolver la cadena.