코드 골퍼로서 우리는 ( 확실히 ) 공개하는 데 익숙하지 않습니다 . 이를 위해 몇 가지 도구가 필요합니다.
물론 새 릴리스를 마케팅하려면 멋지고 빛나는 릴리스 버전이 필요합니다. 버전 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*)*$
오류 사례 (마지막 두 예제)는 정의되지 않은 동작입니다. 입력이 잘못되었을 때 발생하는 일은이 문제와 관련이 없습니다.
평소와 같이 표준 허점은 금지되어 있습니다. 문자열을 인쇄하거나 반환 할 수 있습니다.