在我将RUBY_VERSION
字符串分割为一个句点并将这些位转换为整数等等之前,有没有更简单的方法来检查Ruby程序当前的RUBY_VERSION
是否大于X.X.X
?如何检查RUBY_VERSION是否大于某个版本?
8
A
回答
10
Ruby的宝石库可以做的版本号比较:
require 'rubygems' # not needed with Ruby 1.9+
ver1 = Gem::Version.new('1.8.7') # => #<Gem::Version "1.8.7">
ver2 = Gem::Version.new('1.9.2') # => #<Gem::Version "1.9.2">
ver1 <=> ver2 # => -1
更多信息,请参见http://rubydoc.info/stdlib/rubygems/1.9.2/Gem/Version。
3
只需使用普通字符串比较同样适用,至少在目前所有版本的MRI:
RUBY_VERSION >= "1.8.7"
0
用户diedthreetimes'答案是简单得多,我用...除了它的方法使用字符串比较,这不是版本号的最佳实践。最好使用这样的数值数组比较:
version = RUBY_VERSION.split('.').map { |x| x.to_i }
if (version <=> [1, 8, 7]) >= 1
...
end
相关问题
- 1. 如何检查安装的OpenSSL版本是否大于0.9.8k
- 2. SQL:检查n个连续记录是否大于某个值
- 3. 检查SVN/subversion中是否存在某个版本(或标签)
- 4. 如何检查当前版本的Java是否高于1.6
- 5. 如何检查一个罐子是否是多版本
- 6. PHP如何检查数组键是否等于某个值?
- 7. 如何检查光标是否位于某个元素上?
- 8. 如何检查坐标是否位于某个区域?
- 9. 如何检查边缘是否处于某个循环?
- 10. 如何检查常数的值是否等于某个值?
- 11. 如何检查版本号大于或小于
- 12. 如何检查Windows版本是否为正版?
- 13. DOS脚本来检查默认的Java安装版本是否大于1.x
- 14. 检查日期是否大于/小于
- 15. 如何检查一个值是否大于其他值
- 16. EF如何检查数据库是否是最新版本?
- 17. 检查TFS是否为明确版本
- 18. 如何检查时间是否大于或小于
- 19. 检查软件包版本是否符合或超过某个要求
- 20. 如何检查用户输入是否是某个基地?
- 21. 检查某个键是否被按下?
- 22. Persistance's CriteriaBuilder - 检查是否大于0
- 23. 检查指针是否大于0?
- 24. vb.net如何检查一个字符串是否有某个字
- 25. 如何检查一个TextView是否包含某个字符串
- 26. 检查是否存在,是否存在,是否为某个值
- 27. 如何检查keras是否使用tensorflow的gpu版本?
- 28. 如何检查是否有新版本的谷歌Chrome扩展
- 29. 如何检查iOS版本是否支持库?
- 30. 如何检查版本库是否存在?
但是,gem version!= ruby version。 1.9.2使用了1.9.1几个月的宝石。 – Nakilon 2011-02-11 05:38:34