我正在研究一種可以使用不同版本的小黃瓜的gem,但我面臨一個問題:在2.4.0版本中使用 Gherkin :: Formatter :: Model: :Scenario.new需要6個參數,但在2.6.5中需要7個參數。在Ruby中使用正確數量的參數new
所以我的問題是這種情況下的最佳做法是什麼?我應該怎麼做:
case Gherkin::Version
when '2.4.0'
do the init with 6 arguments
else
with the 7
end
我也在想創造一個new_with_arity方法:
class Object
def new_with_arity(*params)
puts method(:initialize).arity # => -1
puts method(:new).arity # => -1
new(*(params + [nil] * (params.count - method(:new).arity)))
end
end
然而,這並不工作,新的元數和初始化爲-1。 你有想法嗎?
謝謝你好:) – jrichardlai