如何在 Ruby 中对版本列表进行排序?我看过有关自然排序的内容,但这是更进一步的内容。
输入是一串这样的字符串:
input = ['10.0.0b12', '10.0.0b3', '10.0.0a2', '9.0.10', '9.0.3']
我几乎可以用 naturally 做到这一点 gem :
require 'naturally'
Naturally.sort(input)
=> ["9.0.3", "9.0.10", "10.0.0a2", "10.0.0b12", "10.0.0b3"]
问题:10.0.0b3排在10.0.0b12之后; 10.0.0b3 应该是第一个。
谁有可行的方法?其他语言也有帮助!
最佳答案
Ruby 附带了 Gem 类,它知道版本:
ar = ['10.0.0b12', '10.0.0b3', '10.0.0a2', '9.0.10', '9.0.3']
p ar.sort_by { |v| Gem::Version.new(v) }
# => ["9.0.3", "9.0.10", "10.0.0a2", "10.0.0b3", "10.0.0b12"]
关于ruby - ruby 中的版本排序(使用 alphas、betas 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48569003/