Передать массив в vararg в ruby?

Функция ruby ​​ exec() принимает vararg для своего второго параметра для предоставления аргументов исполняемой программе. Однако я хотел бы передать массив аргументов (по разным причинам). Я мог бы обойти это, просто предоставив exec завершенную строку, но включающую оболочку (и избегая возможных параметров). Кроме того, насколько я могу судить, сведение аргументов в одну строку передаст их как один аргумент моей программе - я хочу, чтобы их отличимость сохранялась. Можно ли передать массив аргументу varargs в рубиновой функции? (обратите внимание, что в этом случае я не могу изменить exec(), чтобы принять любые обертывания или сдвиги).

Ответы

Ответ 1

Вы можете использовать оператор splat следующим образом:

exec("echo", *["hello","world"])