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)
这就是所谓的摔跤运营商