本文简要介绍ruby语言中 Warning模块
的用法。
Warning
模块包含一个名为 warn
的方法,并且该模块扩展了自身,使 Warning.warn
可用。 Ruby 发出的所有警告都会调用 Warning.warn
。默认情况下,警告会打印到 $stderr。
更改 Warning.warn
的行为对于自定义 Ruby 处理警告的方式很有用,例如通过过滤某些警告和/或在 $stderr 以外的位置输出警告。
如果你想改变 Warning.warn
的行为,你应该使用 +Warning.extend(MyNewModuleWithWarnMethod)+ 并且你可以使用'super`来获得将警告打印到 $stderr 的默认行为。
例子:
module MyWarningFilter
def warn(message, category: nil, **kwargs)
if /some warning I want to ignore/.match?(message)
# ignore
else
super
end
end
end
Warning.extend MyWarningFilter
您永远不应该重新定义 Warning#warn
(实例方法),因为这将不再提供使用默认行为的方法。
warning
gem 提供了方便的方法来自定义 Warning.warn
。
相关用法
- Ruby WIN32OLE_METHOD#visible?用法及代码示例
- Ruby WIN32OLE_TYPE#src_type用法及代码示例
- Ruby WIN32OLE_VARIANT[i,j,...] =用法及代码示例
- Ruby WIN32OLE_EVENT.new用法及代码示例
- Ruby WIN32OLE_PARAM#ole_type_detail用法及代码示例
- Ruby WIN32OLE_RECORD类用法及代码示例
- Ruby WIN32OLE_VARIANT[i,j,...]用法及代码示例
- Ruby WIN32OLE_RECORD#to_h用法及代码示例
- Ruby WIN32OLE_RECORD#ole_instance_variable_get用法及代码示例
- Ruby WIN32OLE_TYPE#typekind用法及代码示例
- Ruby WIN32OLE_VARIANT.vartype用法及代码示例
- Ruby WIN32OLE_TYPE#source_ole_types用法及代码示例
- Ruby WIN32OLE_VARIABLE#name用法及代码示例
- Ruby WIN32OLE_PARAM#retval?用法及代码示例
- Ruby WIN32OLE_PARAM#input?用法及代码示例
- Ruby WIN32OLE.methods用法及代码示例
- Ruby WIN32OLE_TYPE#default_event_sources用法及代码示例
- Ruby WIN32OLE_TYPE#helpcontext用法及代码示例
- Ruby WIN32OLE#ole_put_methods用法及代码示例
- Ruby WIN32OLE_RECORD#inspect用法及代码示例
- Ruby WIN32OLE_METHOD#helpstring用法及代码示例
- Ruby WIN32OLE.locale用法及代码示例
- Ruby WIN32OLE_METHOD#event_interface用法及代码示例
- Ruby WIN32OLE.ole_show_help用法及代码示例
- Ruby WIN32OLE_EVENT#off_event用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Warning模块。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。