你能问红宝石把警告视为错误吗?

红宝石是否允许您将警告视为错误

我想这样做的一个原因是确保如果删除一行代码意味着发生警告,我可以选择确保突变体被杀死.

解决方法

不幸的是,这不是真正的方法,至少在大多数版本的 Ruby中(可能存在变体),缺少监视程序输出并在标准错误出现警告时中止它.这就是为什么:

Ruby定义了Kernel.warn,您可以重新定义自己想要的内容(包括退出),以及Ruby希望如何(希望)一致地使用Ruby来报告警告(包括内部的解析警告),但是
在Ruby内部实现(在C中)的方法反过来会直接从source / server.c调用一个名为rb_warn的本地方法,完全绕过了对Kernel.warn的重新定义(例如,“条件中的字符串字面量”警告,例如发出当做这样的事情:do_something如果’string’,通过源/ parse.c的本机rb_warn打印)
>使事情变得更糟,还有一个额外的rb_warning本机方法,Ruby可以使用它来记录如果-w或-v被指定的警告.

所以,如果你只需要根据应用程序代码调用Kernel.warn生成的警告来执行操作,那么只需重新定义Kernel.warn.否则,你有两个选择:

> alter source / error.c在rb_warn和rb_warning(和rb_warn_m?)中退出,并重建Ruby>监视程序的’:warning:’的标准错误输出,并在匹配时中止它

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...