ruby中最大的兼容性规则
使用ruby中最大的兼容性规则,ruby,dependencies,version,rule,Ruby,Dependencies,Version,Rule,使用Gem::Dependency.new(nil,rule).match?(nil,version),我可以检查版本是否与兼容性规则匹配 使用%w.map{v|Gem::Version.new v}.max.to_s我可以很容易地找到上一个版本 我有一系列的依赖项,我需要找到最大的依赖项,有简单的方法吗 ['~1.5','~1.6']->'~1.6'例如,仅仅从版本字符串数组中 ['~1.5', '~1.6'].map { |d| d.sub "~", "" }.map(&:to_f)
Gem::Dependency.new(nil,rule).match?(nil,version)
,我可以检查版本是否与兼容性规则匹配
使用%w.map{v|Gem::Version.new v}.max.to_s
我可以很容易地找到上一个版本
我有一系列的依赖项,我需要找到最大的依赖项,有简单的方法吗
['~1.5','~1.6']->'~1.6'
例如,仅仅从版本字符串数组中
['~1.5', '~1.6'].map { |d| d.sub "~", "" }.map(&:to_f).max
这是不好的,因为存在一些不同的兼容性运算符,并且max fonction在Symver规范中使用浮点数。例如,0.44>0.5,在您的回答中,0.5大于0.44,这是错误的。您必须拆分或获取版本主、次和补丁号,并对其进行比较。