小程序项目迭代过程中,会遇到很多兼容新老版本的问题。服务端在做兼容性的时候,需要根据小程序版本进行不同的业务处理。

Ruby中提供了版本对比的方法。通过Gem::Version的方式,可以进行大、中、小版本的对比。

Ruby 1.9之后,会自动进行require 'rubygem',可以通过如下方式进行版本对比。

# compare small version
Gem::Version.new('1.1.1') > Gem::Version.new('1.1.0') # true

Gem::Version.new('1.1.1') > Gem::Version.new('1.1.2') # false

# compare middle version
Gem::Version.new('1.2.1') > Gem::Version.new('1.1.0') # true

Gem::Version.new('1.1.1') > Gem::Version.new('1.2.0') # false

# compare big version
Gem::Version.new('2.1.1') > Gem::Version.new('1.1.0') # true

Gem::Version.new('0.1.1') > Gem::Version.new('1.1.0') # false

Ruby 1.9之前,需要手动进行require 'rubygem'

FYI:

how-to-compare-versions-in-ruby