Daudzi Rubīns skriptiem nav teksta vai grafiskās saskarnes. Viņi vienkārši skrien, veic savu darbu un pēc tam iziet. Lai sazinātos ar šiem skriptiem, lai mainītu to izturēšanos, jāizmanto komandrindas argumenti.
Komandrinda ir UNIX komandu standarta darbības režīms, un kopš tā laika Ruby tiek plaši izmantots UNIX un UNIX līdzīgas sistēmas (piemēram, Linux un macOS) ir diezgan standarta saskarties ar šāda veida operētājsistēmām programma.
Kā nodrošināt komandrindas argumentus
Apvalks, Ruby skripta argumentus nodod programmai Ruby - programmai, kas terminālī pieņem komandas (piemēram, bash).
Komandrindas tekstā, kas seko skripta nosaukumam, tiek uzskatīts par komandrindas argumentu. Atdalot ar atstarpēm, katrs vārds vai virkne tiks nodota kā atsevišķs arguments Ruby programmai.
Šis piemērs parāda pareizo sintakse, kas jāizmanto test.rb Rubīna skripts no komandrindas ar argumentiem pārbaude1 un 2. pārbaude.
$ ./test.rb test1 test2
Var gadīties, ka jāiesniedz arguments Ruby programmai, taču komandā ir atstarpe. Sākumā tas šķiet neiespējami, jo apvalks atdala argumentus par atstarpēm, bet tas ir paredzēts.
Visi argumenti, kas norādīti pēdiņās, netiks nodalīti. Divkāršās pēdiņas korpuss noņem, pirms tās nodod programmai Ruby.
Šis piemērs sniedz vienu argumentu test.rb Rubīna skripts, test1 test2:
$ ./test.rb "test1 test2"
Kā izmantot komandrindas argumentus
Savās Ruby programmās jūs varat piekļūt visiem komandrindas argumentiem, kurus čaula ir nodevusi ar ARGV īpašs mainīgais. ARGV ir masīva mainīgais, kas kā virknes satur katru argumentu, kuru ietvēris apvalks.
Šī programma atkārtojas ARGVmasīvs un izdrukā tā saturu:
#! / usr / bin / env rubīns. ARGV.katru do | a | liek "Arguments: # {a}" beigas
Šis ir fragments no bash sesijas, kas palaiž šo skriptu (saglabāts kā fails test.rb) ar dažādiem argumentiem:
$ ./test.rb test1 test2 "trīs četri" Arguments: 1. pārbaude. Arguments: 2. pārbaude. Arguments: trīs četri