将数组传递给ruby中的vararg?

wic*_*ken 18 ruby variadic-functions

ruby exec()函数为其第二个参数采用vararg来为正在执行的程序提供参数.但是,我想传递一组参数(出于各种原因).我可以解决这个问题,只需给exec一个完整的字符串,但它涉及shell(并转义可能的参数).另外,据我所知,将参数折叠为一个字符串会将它们作为一个参数传递给我的程序 - 我希望保留它们的清晰度.是否可以将数组传递给ruby函数中的varargs参数?(请注意,在这种情况下,我无法修改exec()以接受任何换行或移位).

rya*_*ntm 33

您可以像这样使用splat运算符:

exec("echo", *["hello","world"])
Run Code Online (Sandbox Code Playgroud)