我想根据我们在发布文件夹中的每个版本获取我的软件版本的有序列表。即 /releases/7.1
、/releases/7.2
等
# Regexp out the number from the filename
def get_version(filename)
[0,0] # obviously returns different numbers based on regx
# {:major => 0, :minor => 0} # or was thinking about a Hash?
end
versions = []
#versions = Array.new() # Is this better?
Dir.new(basedir).entries.each do |filename|
versions << get_version(filename) if not File.directory? filename
end
versions.each {|major, minor| puts "#{major}.#{minor}" }
给我我的 list
7.5
7.8
7.9
4.10
7.3
7.11
7.2
7.4
7.6
7.1
7.10
但现在我想命令它们看起来像这样:-
4.10
7.1
7.2
7.3
7.4
7.5
7.6
7.8
7.9
7.10 # I appreciate that these might appear below 7.1, I dont mind too much about that
7.11
那 Symbol
呢?!
非常感谢。
最佳答案
我建议你使用versionomy gem 。或者如果你不想使用 gem 创建你自己的类并混合在可比较的模块中并实现版本比较(关于如何做到这一点有很多关于 SO 的问题)
关于ruby - 使用什么在 ruby array/hash/set 中存储版本号列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7025883/