原谅初学者的问题,但是说我有一个数组:
a = [1,2,3]
某个地方的功能;让我们说它是一个实例函数:
class Ilike
def turtles(*args)
puts args.inspect
end
end
如何使用Ilike.turtles
调用a
,就好像我在呼叫(Ilike.new).turtles(1,2,3)
一样。
我熟悉send
,但这似乎并没有将数组转换为参数列表。
我正在寻找的是Javascript apply
,它等同于call
,但将数组转换为参数列表。
答案 0 :(得分:121)
如您所知,在定义方法时,可以使用*
将参数列表转换为数组。类似地,当您调用方法时,可以使用*
将数组转换为参数列表。所以在你的例子中你可以这样做:
Ilike.new.turtles(*a)