Como jogadores de código, não estamos acostumados a liberar (com certeza ). Vamos precisar de algumas ferramentas para nos ajudar a fazer isso.
Obviamente, para ajudar a comercializar um novo lançamento, precisamos de uma Versão de Lançamento agradável e brilhante. Quem não fica empolgado ao saber da versão 3.0.0?
Tarefa
Sua tarefa será escrever um programa / rotina / ... para incrementar um número de versão.
Você precisa incrementar o número da versão e redefinir os "menos importantes" (por exemplo, versão do patch).
Você obtém dois argumentos: a versão atual (ex "1.0.3") como uma string e um índice para saber qual atualizar (indexado 0 ou 1).
Exemplo, indexado em 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
A versão é uma string, cada parte é um número, separado por um ponto. Não pode haver pontos iniciais, finais ou consecutivos (e nada fora dos números / pontos). Não há limite para o tamanho da string de versão.
^[1-9]\d*(\.[1-9]\d*)*$
O caso de erro (dois últimos exemplos) é um comportamento indefinido. O que acontece em caso de insumos errados não tem relevância para esse desafio.
Como de costume, são proibidas brechas padrão. Você tem permissão para imprimir ou retornar a sequência.