我想包装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
方法?
谢谢!
答案 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)
之类的操作,这可以确保每个调用肯定会获得传递给它的相同选项集。