在我將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. objective-c檢查是否忘記了某個/某些版本
- 3. SQL:檢查n個連續記錄是否大於某個值
- 4. 如何檢查字符串是否等於或大於某個東西?
- 5. 如何檢查$ max_viewers是否大於$ current_viewers?
- 6. 檢查SVN/subversion中是否存在某個版本(或標籤)
- 7. r檢查軟件包版本是否大於x.y.z
- 8. 如何檢查當前版本的Java是否高於1.6
- 9. 如何檢查一個罐子是否是多版本
- 10. 如何檢查座標是否位於某個區域?
- 11. 如何檢查邊緣是否處於某個循環?
- 12. 如何檢查常數的值是否等於某個值?
- 13. 如何檢查光標是否位於某個元素上?
- 14. PHP如何檢查數組鍵是否等於某個值?
- 15. 如何檢查版本號大於或小於
- 16. Python來檢查轉速大於版本
- 17. 混帳:文件檢查是否在某些版本
- 18. 如何檢查Windows版本是否爲正版?
- 19. 如何檢查某個方法是否具有某個屬性而不對DLL的版本敏感?
- 20. DOS腳本來檢查默認的Java安裝版本是否大於1.x
- 21. 檢查日期是否大於/小於
- 22. 如何檢查某個對象是否爲某種類型
- 23. 如何檢查一個值是否大於其他值
- 24. mod_rewrite:檢查是否不是某個域
- 25. 如何檢查文件大小是否大於開始?
- 26. EF如何檢查數據庫是否是最新版本?
- 27. 檢查TFS是否爲明確版本
- 28. 如何檢查時間是否大於或小於
- 29. c#如何檢查對象是否屬於某種類型
- 30. 如何檢查外鍵對象是否屬於某種類型
但是,gem version!= ruby version。 1.9.2使用了1.9.1幾個月的寶石。 – Nakilon 2011-02-11 05:38:34