0

我想包装define_params 方法,以便用户可以传入 anarray与 a symbol,因此可以一次为多个测试插入设置分箱配置:

scan.define_binning [:ws1, :ws2] do |config|
  config.chain.softbin = 'bbxxx'
  config.chain.bin =     16      
  config.logic.softbin = 'bbxxx'
  config.logic.bin =     5 
end

你会如何围绕这个define_params方法?

谢谢!

4

1 回答 1

1

您也可以向 Origen 提交更新以define_params接受参数名称数组,但要回答问题(注意这是未经测试的):

def define_binning(names, options = {}, &block)
  Array(names).each do |name|
    define_params(name, options.dup, &block)
  end
end    

这将名称强制为一个数组,然后对于每个名称,它define_params使用相同的选项/块调用方法。

options.dup在底层方法执行类似操作的情况下使用options.delete(:blah),这确保每个调用肯定会获得传递给它的相同选项集。

于 2018-05-08T08:48:55.810 回答