Miljövariabler är variabler som skickas till program via kommandoraden eller det grafiska skalet. När en miljövariabel hänvisas till hänvisas sedan dess värde (oavsett variabeln definieras som).
Även om det finns ett antal miljövariabler som endast påverkar kommandoraden eller det grafiska skalet (som PATH eller HOME), finns det också flera som direkt påverkar hur Ruby-skript kör.
Tips: Ruby-miljövariabler liknar de som finns i Windows OS. Windows-användare kan till exempel känner till en TMP-användarvariabel för att definiera platsen för den temporära mappen som för den för närvarande inloggade användaren.
Ruby har direkt tillgång till miljövariabler via ENV-hash. Miljövariabler kan läsas direkt eller skrivas till med hjälp av indexoperatören med ett strängargument.
Observera att skrivning till miljövariabler bara kommer att påverka barnprocesser i Ruby-skriptet. Andra invokationer av skriptet ser inte förändringarna i miljövariabler.
#! / usr / bin / env ruby
# Skriv ut några variabler
sätter ENV ['PATH']
sätter ENV ['EDITOR']
# Ändra en variabel och starta sedan ett nytt program
ENV ['EDITOR'] = 'gedit'
'cheat environment_variables --add'
För att skicka miljövariabler till Ruby, ställ bara in den miljövariabeln i skalet. Detta varierar något mellan operativsystem, men koncepten förblir desamma.
Använd inställningskommandot för att ställa in en miljövariabel i Windows-kommandotolken.
> ställa in TEST = värde
Använd exportkommandot för att ställa in en miljövariabel på Linux eller OS X. Även om miljövariabler är en normal del av Bash-skalet, är det bara variabler som har varit det exporteras kommer att finnas tillgängliga i program som lanseras av Bash-skalet.
$ export TEST = värde
Alternativt, om miljövariabeln endast kommer att användas av programmet som ska köras, kan du definiera alla miljövariabler innan kommandot namn. Miljövariabeln överförs till programmet när det körs, men sparas inte. Alla ytterligare anrop av programmet kommer inte att ha denna miljövariabel inställd.
$ EDITOR = gedit cheat environment_variables - lägg till
Det finns ett antal miljövariabler som påverkar hur Ruby-tolken fungerar.