这是我在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 {}"作为一个大字符串。
有没有人知道导致这种情况的ruby版本之间发生了什么变化,以及是否有在1.9.3中返回参数数组的替代方法?
答案 0 :(得分:2)
需要更改(使用github表示法):
- myFunction(submitArgs())
+ myFunction(*submitArgs)
[我假设] myFunction
被声明为两个参数的原因:
def myFunction a1, a2
因此,数组必须在传递给它之前进行喷溅。我想知道这在1.8
中是如何运作的。