Rubiini käsuridade argumentide lühijuhend

Palju Rubiin skriptidel pole teksti või graafilised liidesed. Nad lihtsalt jooksevad, teevad oma tööd ja siis väljuvad. Nende skriptidega suhtlemiseks ja nende käitumise muutmiseks tuleb kasutada käsuridade argumente.

Käsurida on UNIX-i käskude tavapärane töörežiim ja kuna Rubiini kasutatakse laialdaselt UNIX ja UNIX-i sarnased süsteemid (näiteks Linux ja macOS), seda tüüpi kohtamine on üsna tavapärane programmi.

Kuidas käsuridade argumente pakkuda?

Kest edastab Ruby-skripti argumendid programmile Ruby - programm, mis võtab terminalis vastu käske (näiteks bash).

Käsureal käsitatakse käsurealiargumendina mis tahes skripti nimele järgnevat teksti. Tühikutega eraldatuna edastatakse iga sõna või string eraldi argumendina programmile Ruby.

Järgmine näide näitab õiget süntaksit, mida kasutada test.rb Rubiini skript käsuridadest koos argumentidega test1 ja test2.

$ ./test.rb test1 test2

Võib tekkida olukord, kus peate argumendi edastama Ruby-programmile, kuid käsus on tühikut. Alguses tundub see võimatu, kuna kest eraldab argumente tühikute kohta, kuid selleks on olemas säte.

instagram viewer

Kõiki jutumärkides esitatud väiteid ei eraldata. Topeltpakkumised eemaldab kest enne selle edastamist Ruby-programmile.

Järgmine näide edastab ühe argumendi test.rb Rubiini skript, test1 test2:

$ ./test.rb "test1 test2"

Kuidas käsuridade argumente kasutada?

Ruby-programmides saate juurde pääseda käsurealistele argumentidele, mille kest on läbinud ARGV spetsiaalne muutuja. ARGV on massiivi muutuja, mis sisaldab stringidena iga argumenti, mille kest on läbinud.

See programm kordub üle ARGVmassiiv ja prindib selle sisu välja:

#! / usr / bin / env rubiin. ARGV.each do | a | paneb "Argument: # {a}" lõpp

Järgnev on katkend selle skripti käivitavast bash-sessioonist (salvestatud failina) test.rb) mitmesuguste argumentidega:

$ ./test.rb test1 test2 "kolm neli" Argument: test1. Argument: test2. Argument: kolm neli
instagram story viewer