簡體   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