代码之家  ›  专栏  ›  技术社区  ›  Masonoise

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

  •  3
  • Masonoise  · 技术社区  · 16 年前

    对Ruby还是个新手,我不知道该怎么做。。。假设我有一个接受可变数量参数的方法:

    def mytest(*参数) 放args.to_json 结束

    很明显,我可以用我喜欢的称呼它,比如:

    mytest('one'、'two'、'three')

    这看起来似乎很明显,但不管出于什么原因,事实并非如此。我意识到我可以编写mytest()来获取数组或散列,但实际上我正试图在我没有编写的插件中调用一个方法。

    1 回复  |  直到 16 年前
        1
  •  13
  •   Geo    16 年前

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

    a = [1,2,3,4]
    

    以及一种采用4个参数的方法,例如:

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

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

    whatever(*a)