Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby中最大的兼容性规则_Ruby_Dependencies_Version_Rule - Fatal编程技术网

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,这是错误的。您必须拆分或获取版本主、次和补丁号,并对其进行比较。