Panduan Cepat untuk Argumen Baris Perintah di Ruby

Banyak Rubi skrip tidak memiliki teks atau antarmuka grafis. Mereka hanya berlari, melakukan pekerjaan mereka dan kemudian keluar. Untuk berkomunikasi dengan skrip ini untuk mengubah perilakunya, argumen baris perintah harus digunakan.

Baris perintah adalah mode operasi standar untuk perintah UNIX, dan karena Ruby digunakan secara luas Sistem seperti UNIX dan UNIX (seperti Linux dan macOS), cukup standar untuk menghadapi jenis ini program.

Cara Memberikan Argumen Baris Perintah

Argumen skrip Ruby diteruskan ke program Ruby oleh shell, program yang menerima perintah (seperti bash) pada terminal.

Pada baris perintah, teks apa pun yang mengikuti nama skrip dianggap sebagai argumen baris perintah. Dipisahkan oleh spasi, setiap kata atau string akan diteruskan sebagai argumen terpisah ke program Ruby.

Contoh berikut menunjukkan sintaks yang tepat untuk digunakan untuk meluncurkan test.rb Script Ruby dari baris perintah dengan argumen test1 dan test2.

$ ./test.rb test1 test2

Anda mungkin menghadapi situasi di mana Anda perlu menyampaikan argumen ke program Ruby tetapi ada ruang di perintah. Tampaknya tidak mungkin pada awalnya karena shell memisahkan argumen pada spasi, tetapi ada ketentuan untuk ini.

instagram viewer

Argumen dalam tanda kutip ganda tidak akan dipisahkan. Kutipan ganda dihapus oleh shell sebelum meneruskannya ke program Ruby.

Contoh berikut meneruskan argumen tunggal ke test.rb Skrip Ruby, test1 test2:

$ ./test.rb "test1 test2"

Cara Menggunakan Argumen Baris Perintah

Di program Ruby Anda, Anda dapat mengakses argumen baris perintah apa pun yang dilewatkan oleh shell dengan ARGV variabel khusus. ARGV adalah variabel Array yang menampung, sebagai string, setiap argumen dilewatkan oleh shell.

Program ini berulang selama ARGVHimpunan dan mencetak isinya:

#! / usr / bin / env ruby. ARGV. Setiap melakukan | a | menempatkan "Argumen: # {a}" akhir

Berikut ini adalah kutipan dari sesi bash yang meluncurkan skrip ini (disimpan sebagai file test.rb) dengan berbagai argumen:

$ ./test.rb test1 test2 "three four" Argumen: test1. Argumen: test2. Argumen: tiga empat
instagram story viewer