对于Ruby来说还是有些新手,我不知道如何做到这一点......假设我有一个带有可变数量参数的方法:
def mytest(* args) 把args.to_json 端
显然我可以用任何我喜欢的方式来调用它,例如:
mytest('one','two','three')
没问题。但我需要做的是用动态创建的参数集来调用它。例如,我从数据库中提取结果集,我不知道会有多少条目返回。假设我想收集结果id,并用它们调用mytest() - 我将如何构造传递给mytest()的参数集?
这似乎显而易见,但无论出于何种原因,事实并非如此。我意识到我可以改为编写mytest()来获取数组或Hash,但我实际上是在尝试调用一个我没写过的插件中的方法。
答案 0 :(得分:13)
我不确定我理解你的问题。您是否在询问如何将数组转换为方法的参数?阅读本文
假设你有这个:
a = [1,2,3,4]
和一个采用4个参数的方法,如:
def whatever(p1,p2,p3,p4)
# do whatever you want with them here
end
你可以这样调用方法:
whatever(*a)
并且数组的元素将按照您希望的方式发送。