繁体   English   中英

调用方法以在ruby中生成参数在1.8.7中有效,但在1.9.3中不适用

[英]Call method to generate arguments in ruby works in 1.8.7 but not 1.9.3

这是我在ruby 1.8.7中使用的,但是在1.9.3中不再起作用,并且我不确定是什么更改使此操作失败。

以前我有这样的事情

myFunction(submitArgs())

其中SubmitArgs是可以通过一些选项调用的帮助程序方法

def submitArgs(args={})
  #Some logic/manipulations
  ["Text", args]
end

然后,将使用第一个参数“ Text”调用myFunction,第二个参数使用哈希值。 现在在1.9.3中,它全部用一个大字符串作为“ Text {}”来调用。

有谁知道在红宝石版本之间进行了哪些更改,导致这种情况,以及在1.9.3中是否有返回参数数组的替代方法?

需要更改(以github表示法):

- myFunction(submitArgs())
+ myFunction(*submitArgs)

[我假设] myFunction声明有两个参数的原因:

def myFunction a1, a2

因此,在传递给数组之前,必须先对数组进行喷涂。 我不知道这在1.8如何工作的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM