Рубин.Странный элемент argv [0] в массиве, являющийся аргументом метода spawn - PullRequest
1 голос
/ 16 ноября 2011

Как известно, метод Ruby Kernel # spawn выполняет указанную команду и возвращает ее pid.Метод может принимать либо целую командную строку в качестве одного аргумента, имя команды и любое количество аргументов команды, либо массив, где первый элемент - это сама команда, а второй - согласно документации Странная переменная argv [0] .Как оказалось, переменная не имеет ничего общего с ARGV Ruby [0].

Что это за переменная?Что он содержит?

Спасибо.

Debian GNU / Linux 6.0.2;

Ruby 1.9.3-p0.

1 Ответ

3 голосов
/ 16 ноября 2011

Я не думаю, что это вообще переменная.

При выполнении команды (в общем случае) аргументы переходят в argv[1] до argv[*n*]. Название выполненной команды можно найти в argv[0]. (Для приложений Ruby они будут помещены в ARGV, для приложений C к ним можно получить доступ, используя аргументы argc и argv для main.)

По умолчанию argv[0] будет таким же, как и начатая команда. Однако, если вы используете следующую форму:

exec(["alpha", "beta"])

Программа alpha будет выполнена, но argv[0] будет beta.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...