Code-golfçüler olarak, serbest bırakılmaya alışkın değiliz ( elbette ). Bunu yapmamıza yardımcı olacak birkaç araca ihtiyacımız olacak.
Elbette, yeni bir sürümün pazarlanmasına yardımcı olmak için, güzel ve parlak bir Sürüm Sürümü'ne ihtiyacımız var. 3.0.0 sürümünü duyduklarında kim heyecanlanmaz?
Görev
Göreviniz sürüm numarasını artırmak için bir program / rutin / ... yazmak olacaktır.
Sürüm numarasını artırmanız ve "daha az önemli" olanları sıfırlamanız gerekir (örneğin, düzeltme eki sürümü).
İki argüman alırsınız: bir dize olarak mevcut sürüm (örneğin "1.0.3") ve hangisinin güncelleneceğini bilen bir dizin (0 veya 1 dizine alınmış).
Örnek, 0 indeksli:
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
Sürüm bir dizedir, her bölüm bir noktayla ayrılmış bir sayıdır. Öncü, iz veya ardışık noktalar olmayabilir (ve sayıların / noktaların dışında hiçbir şey olamaz). Sürüm dizesinin boyutunda sınır yoktur.
^[1-9]\d*(\.[1-9]\d*)*$
Hata durumu (son iki örnek) tanımsız davranış. Yanlış girdi olması durumunda ne olacağı, bu zorlukla hiçbir ilgisi yoktur.
Her zaman olduğu gibi standart boşluklar yasaktır. Dizeyi yazdırmanıza veya geri vermenize izin verilir.