2010-12-15 10 views
27

W jaki sposób mogę wydrukować mój skrypt ruby, którą wersję ruby ​​go uruchomi?Masz wydruk skryptu ruby, która wersja ruby ​​go obsługuje.

+0

Zakładam, że nie są zainteresowani, czy to MRI/YARV kontra jruby, IronRuby, Rubinius, itp.? –

+0

@Andrew Jestem wystarczająco wcześnie, aby nauczyć się ruby, że nie wiem, co to jest. Na razie pracuję z rubinem 1.9.2 i rubem 1.8.7. Zakładam, że są one "normalne" w porównaniu z tymi, o których wspomniałeś ... Czy istnieje sposób, aby to również znaleźć? –

Odpowiedz

50

RUBY_VERSION stała zawiera numer wersji interpretera Ruby RUBY_PATCHLEVEL zawiera patchlevel, więc:

puts RUBY_VERSION 

wyjścia np 2.2.3, a to:

puts RUBY_PATCHLEVEL 

wyjścia np 173. Razem może być używany w następujący sposób:

ruby -e 'print "ruby #{ RUBY_VERSION }p#{ RUBY_PATCHLEVEL }"' 

na wyjście np. ruby 2.2.3p173

+0

+1 Doskonały. Tego właśnie potrzebowałem. (odliczanie minut, aż pozwolę sobie zaakceptować odpowiedź) –

4

Dla porównania, oto jak zmienne i stałe pracować, wraz z wykazem wbudowanych zmiennych i stałych Ruby: Ruby Programming/Syntax/Variables and Constants i Pre-defined Variables. Oczywiście, że go brakuje RUBY_VERSION.

Dla rundzie bonusowej, to powiedzieć trochę więcej przydatnych informacji o środowisku Ruby przy użyciu rbconfig:

require 'rbconfig' 
puts Config::CONFIG.sort_by{ |n,v| n.downcase }.map{ |n,v| "#{n} => '#{v}'" } 
+0

Interesujące linki, chociaż jak wspomniałeś, nie mają RUBY_VERSION –

+0

Tak, myślę, że muszą wykonać uderzenie "od ręki do czoła". –

+0

Kolejne miejsce, które dokumentuje takie globale: https://ruby-doc.org/core-2.4.2/doc/globals_rdoc.html – Florin

Powiązane problemy