给定一个参数数组,我该如何将这些参数发送到Ruby中的特定函数?
原谅初学者的问题,但说我有一个数组:
a = [1,2,3]
还有一个地方的function; 假设这是一个实例函数:
class Ilike def turtles(*args) puts args.inspect end end
我如何用a
调用Ilike.turtles
,就好像我正在调用(Ilike.new).turtles(1,2,3)
。
我熟悉send
,但这似乎并没有将数组转换为参数列表。
我正在寻找的并行Javascript apply
,这相当于call
但将数组转换为参数列表。
如你所知,当你定义一个方法的时候,你可以使用*
来将一个参数列表转换成一个数组。 同样,当你调用一个方法时,你可以使用*
来将一个数组变成一个参数列表。 所以在你的例子中,你可以做:
Ilike.new.turtles(*a)