ARGV: аргумент командной строки в языке программирования Ruby

Дневник разработчика

Как это работает

При запуске консольной программы в ruby мы всегда указываем название файла, который содержит программу, которую нам нужно запустить в консоли. Указание имени файла — это параметр командной строки.

Помимо этого параметра, можно передавать сколько угодно дополнительных произвольных параметров. Эти параметры принято называть аргументами.

ARGV[0] это первое значение после имени скрипта.

Если по каким то причинам тебе необходимо сохранять эти аргументы для дальнейшей работы программы в ruby используется специальный массив под названием ARGV- массив аргументов командной строки. Название это сокращение от ARGument Values.

Важно учитывать, что ARGV это массив, элементы массива — объекты типа строка. Каждый пробел начинает новую строку.

ARGV сохраняет в себе все аргументы указанные при запуске программы.

ARGV: аргумент командной строки в языке программирования Ruby
Пример сохранения аргументов командной строки в массив.

После того как данные сохранены в массив, с ними можно работать как и с другими массивами.

ARGV: аргумент командной строки в языке программирования Ruby
Пример запроса первого элемента из массива ARGV.

После того как программа запущена и мы хотим добавить в массив ARGV еще элементы, тебе не достаточно простого метода gets. По сути метод может не сработать или сработать не совсемверно.

Правило буравчика: если ваша программа использует ARGV, вместо gets необходимо использовать STDIN.gets, если не использует — можно оставить gets, но если везде замените на STDIN.gets хуже не будет.

ARGV: аргумент командной строки в языке программирования Ruby
Пример простого добавления элемента в массив ARGV при помощи метода STDB.gets.
Юрий Ронин