Ruby Language
Specialkonstanter i Ruby
Sök…
__FIL__
Är den relativa vägen till filen från den aktuella exekveringskatalogen
Antag att vi har den här katalogstrukturen: /home/stackoverflow/script.rb
script.rb innehåller:
puts __FILE__
Om du är inom / home / stackoverflow och kör skriptet som ruby script.rb
kommer __FILE__
att script.rb
Om du är in / home kommer det att mata ut stackoverflow/script.rb
Mycket användbart för att få sökvägen till skriptet i versioner före 2.0 där __dir__
inte finns.
Obs __FILE__
är inte lika med __dir__
__dir__
__dir__
är inte en konstant utan en funktion
__dir__
är lika med File.dirname(File.realpath(__FILE__))
$ PROGRAM_NAME eller $ 0
Innehåller namnet på skriptet som körs.
Är samma sak som __FILE__
om du kör det skriptet.
$$
Processnumret för Ruby som kör detta skript
$ 1, $ 2 osv
Innehåller undermönstret från motsvarande uppsättning parenteser i det senaste framgångsrika mönstret matchade, räknar inte mönster matchade i kapslade block som redan har lämnats, eller noll om den sista mönstermatchningen misslyckades. Dessa variabler är alla endast skrivskyddade.
ARGV eller $ *
Kommandoradsargument som ges för skriptet. Alternativen för Ruby-tolk har redan tagits bort.
STDIN
Standardinmatningen. Standardvärdet för $ stdin
STDOUT
Standardutgången. Standardvärdet för $ stdout
STDERR
Standardfelutgången. Standardvärdet för $ stderr
$ stderr
Den nuvarande standardfelutgången.
$ stdout
Den nuvarande standardutgången
$ stdin
Den aktuella standardingången
ENV
Det hashliknande objektet innehåller aktuella miljövariabler. Att ställa in ett värde i ENV förändrar miljön för barnprocesser.