Як кодери в гольф, ми не звикли випускати ( безумовно ). Нам знадобиться кілька інструментів, які допоможуть нам це зробити.
Звичайно, щоб допомогти маркетингу нової версії, нам потрібна приємна і блискуча версія версії. Хто не хвилюється, коли чує про версію 3.0.0?
Завдання
Вашим завданням буде написати програму / розпорядок / ... для збільшення номера версії.
Потрібно збільшити номер версії та скинути "менш важливі" (тобто версію патча).
Ви отримуєте два аргументи: поточну версію (наприклад, "1.0.3") як рядок та індекс, щоб знати, яку саме оновити (0 або 1-індексувати).
Приклад, 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
Версія - рядок, кожна частина - це число, розділене крапкою. Не може бути ні провідних, ні кінцевих, ні послідовних крапок (і нічого, крім цифр / крапок). Немає обмежень у розмірі рядка версії.
^[1-9]\d*(\.[1-9]\d*)*$
Випадок помилки (останні два приклади) - невизначена поведінка. Те, що відбувається у випадку неправильних внесків, не має значення для цього завдання.
Як завжди, стандартні лазівки заборонені. Вам дозволено друкувати або повертати рядок.