运维开发网

ruby – 如何为方法动态创建参数?

运维开发网 https://www.qedev.com 2020-07-29 17:20 出处:网络 作者:运维开发网整理
对于 Ruby来说还是有些新手,我不知道如何做到这一点……假设我有一个带有可变数量参数的方法: def mytest(* args)   把args.to_json 结束 显然我可以用我喜欢的任何东西来称它,例如: mytest(‘one’,’two’,’three’) 没问题.但我需要做的是用动态创建的参数集来调用它.例如,我从数据库中提取结果集,我不知道会有多少条目返回.假设我想收集结果id,
对于 Ruby来说还是有些新手,我不知道如何做到这一点……假设我有一个带有可变数量参数的方法:

def mytest(* args)

  把args.to_json

结束

显然我可以用我喜欢的任何东西来称它,例如:

mytest(‘one’,’two’,’three’)

没问题.但我需要做的是用动态创建的参数集来调用它.例如,我从数据库中提取结果集,我不知道会有多少条目返回.假设我想收集结果id,并用它们调用mytest() – 我将如何构造传递给mytest()的参数集?

这似乎有点显而易见,但无论出于何种原因,事实并非如此.我意识到我可以改为编写mytest()来获取数组或Hash,但我实际上是在尝试调用一个我没有编写的插件中的方法.

我不确定我理解你的问题.您是否在询问如何将数组转换为方法的参数?读这个

假设你有这个:

a = [1,2,3,4]

和一个采用4个参数的方法,如:

def whatever(p1,p2,p3,p4)
  # do whatever you want with them here
end

您可以调用该方法,如下所示:

whatever(*a)

并且数组的元素将以您希望的方式发送.

0

精彩评论

暂无评论...
验证码 换一张
取 消