包装Origen ::参数define_params方法

时间:2018-05-07 21:26:52

标签: origen-sdk

我想包装define_params method,以便用户可以传入array而不是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方法?

谢谢!

1 个答案:

答案 0 :(得分: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)之类的操作,这可以确保每个调用肯定会获得传递给它的相同选项集。