Làm cách nào để sắp xếp danh sách các phiên bản trong Ruby? Tôi đã nhìn thấy những thứ về tự nhiên, nhưng đây là một bước xa hơn thế.Sắp xếp phiên bản (với alphas, betas, vv) trong ruby
Input là một loạt các chuỗi như thế này:
input = ['10.0.0b12', '10.0.0b3', '10.0.0a2', '9.0.10', '9.0.3']
Tôi gần như có thể làm điều đó với các naturally đá quý:
require 'naturally'
Naturally.sort(input)
=> ["9.0.3", "9.0.10", "10.0.0a2", "10.0.0b12", "10.0.0b3"]
Vấn đề: 10.0.0b3 được sắp xếp sau khi 10.0.0b12; 10.0.0b3 phải là đầu tiên.
Có ai có cách hoạt động không? Các ngôn ngữ khác cũng hữu ích!
Đó là chuỗi phiên bản không điển hình. Bạn không có khả năng tìm ra giải pháp không có giá; bạn nên viết của riêng bạn. – meagar
Tôi đã thay đổi nó để sử dụng Phiên bản ngữ nghĩa. Đó là điển hình hơn. –
@MusashiAharon Đây không phải là phiên bản ngữ nghĩa khá. Đối với điều đó, bạn muốn 'b12'' b3', vv được đặt trước bởi một' -'. – Ajedi32