Variabilele de mediu sunt variabile transmise programelor de linia de comandă sau de shell-ul grafic. Atunci când se face referire la o variabilă de mediu, se face referire la valoarea acesteia (indiferent de variabilă).
Deși există o serie de variabile de mediu care afectează doar linia de comandă sau shell-ul grafic propriu-zis (cum ar fi PATH sau HOME), există și câteva care afectează direct modul de execuție a scripturilor Ruby..
Sfat: variabilele de mediu Ruby sunt similare cu cele găsite în sistemul de operare Windows. De exemplu, utilizatorii de Windows pot fi familiarizați cu o variabilă de utilizator TMP pentru a defini locația folderului temporar cel pentru utilizatorul conectat în prezent.
Ruby are acces direct la variabilele de mediu prin hash-ul ENV. Variabilele de mediu pot fi citite sau scrise direct folosind operatorul index cu un argument string.
Rețineți că scrierea în variabilele de mediu nu va avea efect decât asupra proceselor copil din scriptul Ruby. Alte invocări ale scriptului nu vor vedea modificările variabilelor de mediu.
#! / usr / bin / env ruby
# Tipăriți câteva variabile
pune ENV ['PATH']
pune ENV [„EDITOR”]
# Schimbați o variabilă, apoi lansați un program nou
ENV ['EDITOR'] = 'gedit'
'înșelăți mediul_variabile - add'
Pentru a trece variabilele de mediu la Ruby, setați pur și simplu acea variabilă de mediu în coajă. Aceasta variază ușor între sistemele de operare, dar conceptele rămân aceleași.
Pentru a seta o variabilă de mediu pe promptul de comandă Windows, utilizați comanda setată.
> set TEST = valoare
Pentru a seta o variabilă de mediu pe Linux sau OS X, utilizați comanda export. Deși variabilele de mediu sunt o parte normală a shell-ului Bash, numai variabilele care au fost exportate va fi disponibil în programele lansate de shell-ul Bash.
$ TEST de export = valoare
Alternativ, dacă variabila de mediu va fi utilizată doar de programul care urmează să fie rulat, puteți defini orice variabilă de mediu înainte de numele comenzii. Variabila de mediu va fi transmisă pe program ca fiind rulată, dar nu va fi salvată. Eventualele alte invocări ale programului nu vor avea această setare variabilă de mediu.
$ EDITOR = gedit cheat environment_variables --add
Există o serie de variabile de mediu care afectează modul în care acționează interpretul Ruby.