Ответ 1
Вы можете использовать оператор splat следующим образом:
exec("echo", *["hello","world"])
Функция ruby exec()
принимает vararg для своего второго параметра для предоставления аргументов исполняемой программе. Однако я хотел бы передать массив аргументов (по разным причинам). Я мог бы обойти это, просто предоставив exec завершенную строку, но включающую оболочку (и избегая возможных параметров). Кроме того, насколько я могу судить, сведение аргументов в одну строку передаст их как один аргумент моей программе - я хочу, чтобы их отличимость сохранялась. Можно ли передать массив аргументу varargs в рубиновой функции? (обратите внимание, что в этом случае я не могу изменить exec(), чтобы принять любые обертывания или сдвиги).
Вы можете использовать оператор splat следующим образом:
exec("echo", *["hello","world"])