Bir sürüm listesini Ruby'de nasıl sıralayabilirim? Doğal sıralama hakkında bir şeyler gördüm, ama bunun ötesinde bir adım.Sürüm sırası (alpha, bici, vb.) Ruby içinde
input = ['10.0.0b12', '10.0.0b3', '10.0.0a2', '9.0.10', '9.0.3']
Ben naturally taş ile yapmak neredeyse edebilirsiniz:
Girdi böyle dizeleri bir demet
require 'naturally'
Naturally.sort(input)
=> ["9.0.3", "9.0.10", "10.0.0a2", "10.0.0b12", "10.0.0b3"]
Sorun: 10.0.0b3 10.0.0b12 sonra sıralanır; İlk önce 10.0.0b3 olmalıdır.
Herkesin bir yolu var mı? Diğer diller de yardımcı oluyor! Eğer "her basamak segmente göre sıralama" olarak nitelendirildiği, varsa
Bunlar son derece atipik sürüm dizeleridir. Yetersiz bir çözüm bulmanız olası değildir; kendi yazman gerekir. – meagar
Semantik Sürüm'ü kullanmak için değiştirdim. Bu daha tipik. –
@MusashiAharon Bu oldukça Semantik Sürüm oluşturma değil. Bunun için b12'nin b3'nün, önce bir '-' ile olmasını istersiniz. – Ajedi32