ruby将数组转换为函数参数

说我有一个数组。 我希望将数组传递给一个函数。 然而,函数需要两个参数。 有没有办法即时将数组转换为2个参数? 例如:

a = [0,1,2,3,4] b = [2,3] a.slice(b) 

会在Ruby中产生一个错误。 我需要inputa.slice(b[0],b[1])我正在寻找更优雅的东西,如在a.slice(foo.bar(b))谢谢。

您可以使用* (或“splat”)运算符将Array转换为参数列表:

 irb(main):001:0> a = [0, 1, 2, 3, 4] => [0, 1, 2, 3, 4] irb(main):002:0> b = [2, 3] => [2, 3] irb(main):003:0> a.slice(*b) => [2, 3, 4] 

参考:

  • 数组到参数的转换

用这个

 a.slice(*b) 

这就是所谓的摔跤运营商