Railsで文字列のバージョンを比較する
StringのVersion情報 "2.1.1"
を "2.2.0"
などと比較したい
Gem::Version
を使うことで比較できる
p "1.9" < "1.10" # => false p Gem::Version.new("1.9") < Gem::Version.new("1.10") # => true
文字列にも対応。便利。
"1.1.beta9" と "1.1.beta10" では、"beta9" と "beta10" の部分だけが違いますが、アルファベット部分と数字部分が分割され、数字部分は整数の大小比較になるため、後者のほうが大きいと判定されます。