Omgevingsvariabelen zijn variabelen die aan programma's worden doorgegeven via de opdrachtregel of de grafische shell. Wanneer naar een omgevingsvariabele wordt verwezen, wordt vervolgens naar de waarde ervan (ongeacht de variabele zoals gedefinieerd) verwezen.
Hoewel er een aantal omgevingsvariabelen zijn die alleen van invloed zijn op de opdrachtregel of de grafische shell zelf (zoals PATH of HOME), zijn er ook verschillende die rechtstreeks van invloed zijn op de manier waarop Ruby-scripts worden uitgevoerd.
Tip: Ruby-omgevingsvariabelen zijn vergelijkbaar met die in het Windows-besturingssysteem. Windows-gebruikers kunnen bijvoorbeeld bekend zijn met een TMP-gebruikersvariabele om de locatie van de tijdelijke map te definiëren voor de momenteel ingelogde gebruiker.
Ruby heeft directe toegang tot omgevingsvariabelen via de ENV-hash. Omgevingsvariabelen kunnen direct worden gelezen of beschreven door de indexoperator met een stringargument te gebruiken.
Merk op dat schrijven naar omgevingsvariabelen alleen effect heeft op onderliggende processen van het Ruby-script. Andere aanroepen van het script zullen de veranderingen in omgevingsvariabelen niet zien.
#! / usr / bin / env ruby
# Druk enkele variabelen af
zet ENV ['PATH']
zet ENV ['EDITOR']
# Wijzig een variabele en start een nieuw programma
ENV ['EDITOR'] = 'gedit'
'cheat environment_variables --add'
Om omgevingsvariabelen aan Ruby door te geven, stelt u eenvoudig die omgevingsvariabele in de shell in. Dit verschilt enigszins tussen besturingssystemen, maar de concepten blijven hetzelfde.
Gebruik de opdracht set om een omgevingsvariabele in te stellen op de Windows-opdrachtprompt.
> stel TEST = waarde in
Gebruik de exportopdracht om een omgevingsvariabele in te stellen op Linux of OS X. Hoewel omgevingsvariabelen een normaal onderdeel van de Bash-shell zijn, zijn dat alleen variabelen geëxporteerd zal beschikbaar zijn in programma's die worden gestart door de Bash-shell.
$ export TEST = waarde
Als alternatief, als de omgevingsvariabele alleen wordt gebruikt door het programma dat moet worden uitgevoerd, kunt u omgevingsvariabelen definiëren vóór de naam van de opdracht. De omgevingsvariabele wordt tijdens de uitvoering aan het programma doorgegeven, maar niet opgeslagen. Voor verdere aanroepen van het programma is deze omgevingsvariabele niet ingesteld.
$ EDITOR = gedit cheat environment_variables --add
Er zijn een aantal omgevingsvariabelen die invloed hebben op de werking van de Ruby-interpreter.