2009-10-19 15 views

risposta

139

Utilizzare il primo livello costante

RUBY_VERSION 

altre utili costanti di primo livello sono

RUBY_PATCHLEVEL 
RUBY_PLATFORM 
RUBY_RELEASE_DATE 

qui è una sessione IRB:

irb(main):001:0> RUBY_VERSION 
=> "1.8.7" 
12

Prova la costante RUBY_VERSION. Lo uso estensivamente per determinare se sto utilizzando 1,8 o JRuby.

Inoltre, se non siete in modalità di produzione, si può fare un rapido controllo colpendo l'URL "/ rotaie/Info/proprietà"

9

Oltre alla costante RUBY_VERSION e agli amici, puoi anche controllare Config :: CONFIG. Questo hash contiene non solo i numeri di versione, ma anche un sacco di altre informazioni di runtime utili, come il percorso del binario, il nome host, ...

+0

grazie, io uso 'mette RbConfig.ruby' per Ruby 2.0 e 4.0 rotaie e ritorno '/ usr/local/RVM/rubini /ruby-2.0.0-p247/bin/ruby ' – quatermain

6

Usa RUBY_VERSION come detto da altri.

È quindi possibile utilizzare Gem::Version per fare il confronto versione stringa:

require 'rubygems' # Only needed for ruby pre-1.9.0 but it's safe for later versions (evaluates to false). 
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.0') 
    extend DL::Importable          
else               
    extend DL::Importer          
end               
+0

Molto utile, grazie! – Francois

Problemi correlati