Sebagai pegolf kode, kami tidak terbiasa melepaskan ( pasti ). Kami akan membutuhkan beberapa alat untuk membantu kami melakukan itu.
Tentu saja, untuk membantu memasarkan rilis baru, kami membutuhkan Versi Rilis yang bagus dan berkilau. Siapa yang tidak senang ketika mereka mendengar tentang versi 3.0.0?
Tugas
Tugas Anda adalah menulis program / rutin / ... untuk menambah nomor versi.
Anda perlu menambah nomor versi dan mengatur ulang yang "kurang penting" (yaitu versi tambalan).
Anda mendapatkan dua argumen: versi saat ini (ex "1.0.3") sebagai string, dan indeks untuk mengetahui mana yang akan diperbarui (0 atau 1-diindeks).
Contoh, diindeks 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
Versi ini adalah string, setiap bagian adalah angka, dipisahkan dengan titik. Tidak ada titik awal, tidak ada jejak atau tidak ada titik berurutan (dan tidak ada di luar angka / titik). Tidak ada batasan ukuran string versi.
^[1-9]\d*(\.[1-9]\d*)*$
Kasus kesalahan (dua contoh terakhir) adalah perilaku yang tidak terdefinisi. Apa yang terjadi jika input yang salah tidak ada hubungannya dengan tantangan ini.
Seperti biasa, lubang standar dilarang. Anda diizinkan mencetak atau mengembalikan string.